{
  "responsive-web-design": {
    "title": "Desafios do design responsivo para a web legado",
    "intro": [
      "Nessa certificação de Design responsivo para a web, você aprenderá as linguagens que os desenvolvedores usam para construir sites: HTML (Linguagem de Marcação de Hipertexto) para o conteúdo e CSS (Folha de Estilo em Cascata) para o design.",
      "Primeiro, você vai construir um aplicativo de fotos de gato para aprender o básico de HTML e CSS. Mais tarde, você aprenderá técnicas modernas como variáveis CSS construindo um pinguim, e melhores práticas de acessibilidade criando um formulário web.",
      "Finalmente, você vai aprender a fazer páginas web que respondem a diferentes tamanhos de telas construindo um card do Twitter com Flexbox, e um layout complexo de blog com o CSS Grid."
    ],
    "note": "Observação: algumas extensões de navegador, como bloqueadores de anúncios e extensões de modo escuro podem interferir nos testes. Se você tiver problemas, recomendamos desabilitar extensões que modifiquem o conteúdo ou o layout das páginas durante o curso.",
    "blocks": {
      "basic-html-and-html5": {
        "title": "HTML e HTML5 básicos",
        "intro": [
          "HTML é uma linguagem de marcação que usa uma sintaxe ou notação especial para descrever a estrutura de uma página da Web para o navegador. Os elementos HTML geralmente têm tags de abertura e fechamento que os circundam e dão significado ao conteúdo. Elementos diferentes, por exemplo, podem descrever o texto como um título, um parágrafo ou item da lista.",
          "Neste curso, você vai construir um aplicativo de fotografia de gatos para aprender alguns dos elementos HTML mais comuns: os blocos de construção de qualquer página da web."
        ]
      },
      "basic-css": {
        "title": "CSS básico",
        "intro": [
          "O CSS, ou Folhas de Estilo em Cascata, diz ao navegador como exibir o texto e outros conteúdos que você escreve em HTML. Com o CSS, você pode controlar a cor, fonte, tamanho, espaçamento e muitos outros aspectos dos elementos HTML.",
          "Agora que você descreveu a estrutura do seu aplicativo de fotos de gatos, aplique um pouco de estilo com o CSS."
        ]
      },
      "applied-visual-design": {
        "title": "Design visual aplicado",
        "intro": [
          "O design visual é uma combinação de tipografia, teoria de cores, gráficos, animação, layout da página e mais para ajudar a entregar sua mensagem única.",
          "Neste curso, você vai aprender como aplicar esses diferentes elementos do design visual em suas páginas da web."
        ]
      },
      "applied-accessibility": {
        "title": "Acessibilidade aplicada",
        "intro": [
          "No desenvolvimento web, a acessibilidade refere-se ao conteúdo da web e uma UI (interface do usuário) que pode ser compreendida, navegada e interagida por um público amplo. Isto inclui pessoas com deficiência visual, auditiva, de mobilidade ou cognitiva.",
          "Nesse curso, você aprenderá as melhores práticas para a construção de páginas da Web que sejam acessíveis a todos."
        ]
      },
      "responsive-web-design-principles": {
        "title": "Princípios do design responsivo para a web",
        "intro": [
          "Existem muitos dispositivos que podem acessar a Internet, de todas as formas e tamanhos. O Design responsivo para a web é a prática de se projetar sites flexíveis, que podem responder a diferentes tamanhos de telas, orientações e resoluções.",
          "Neste curso, você vai aprender a usar CSS para fazer suas páginas ficarem bonitas, não importa em qual dispositivo elas estão sendo visualizadas."
        ]
      },
      "css-flexbox": {
        "title": "CSS Flexbox",
        "intro": [
          "O Flexbox é um método de layout poderoso e com bastante suporte, que foi introduzido na versão mais recente do CSS, o CSS3. Com o Flexbox, é fácil centralizar os elementos na página e criar interfaces dinâmicas que diminuem e aumentam de tamanho automaticamente.",
          "Nesse curso, você aprenderá os fundamentos de flexbox e layouts dinâmicos construindo um card do Twitter."
        ]
      },
      "css-grid": {
        "title": "CSS Grid",
        "intro": [
          "O CSS Grid é um padrão mais recente, que torna fácil construir layouts responsivos complexos. Ele funciona transformando um elemento HTML em uma grade e permite que você coloque elementos filhos em qualquer lugar dentro dele.",
          "Nesse curso, você aprenderá os fundamentos do CSS Grid construindo diferentes layouts complexos, incluindo um blog."
        ]
      }
    }
  },
  "2022/responsive-web-design": {
    "title": "Design responsivo para a Web legado V8",
    "intro": [
      "Nessa certificação de Design responsivo para a web, você aprenderá as linguagens que os desenvolvedores usam para construir sites: HTML (Linguagem de Marcação de Hipertexto) para o conteúdo e CSS (Folha de Estilo em Cascata) para o design.",
      "Primeiro, você vai construir um aplicativo de fotos de gato para aprender o básico de HTML e CSS. Mais tarde, você aprenderá técnicas modernas como variáveis CSS construindo um pinguim, e melhores práticas de acessibilidade criando um site de questionário.",
      "Finalmente, você vai aprender a fazer páginas web que respondem a diferentes tamanhos de telas construindo uma galeria de fotos com o Flexbox, e um layout de artigo de revista com o CSS Grid."
    ],
    "note": "Observação: algumas extensões de navegador, como bloqueadores de anúncios e extensões de modo escuro podem interferir nos testes. Se você tiver problemas, recomendamos desabilitar extensões que modifiquem o conteúdo ou o layout das páginas durante o curso.",
    "blocks": {
      "build-a-tribute-page-project": {
        "title": "Página de tributo",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará uma página de tributo para alguém de sua escolha, fictício ou real."
        ]
      },
      "build-a-personal-portfolio-webpage-project": {
        "title": "Página de portfólio pessoal",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará sua própria página pessoal de portfólio."
        ]
      },
      "build-a-product-landing-page-project": {
        "title": "Página inicial para um produto",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará uma página inicial de produto para comercializar um produto de sua escolha."
        ]
      },
      "build-a-survey-form-project": {
        "title": "Formulário de pesquisa",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará um formulário de pesquisa para coletar dados de seus usuários."
        ]
      },
      "build-a-technical-documentation-page-project": {
        "title": "Página de documentação técnica",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará uma página de documentação técnica para servir como instrução ou referência para um tópico."
        ]
      },
      "learn-html-by-building-a-cat-photo-app": {
        "title": "Aprenda HTML criando um aplicativo de fotos de gatos",
        "intro": [
          "Tags HTML dão a uma página web sua estrutura. Você pode usar tags HTML para adicionar fotos, botões e outros elementos à sua página da web.",
          "Neste curso, você vai aprender as tags HTML mais comuns criando o seu próprio aplicativo de fotos de gatos."
        ]
      },
      "learn-basic-css-by-building-a-cafe-menu": {
        "title": "Aprenda CSS básico criando um menu de restaurante",
        "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 curso, você aprenderá CSS criando uma página de menu para uma página da web para um café."
        ]
      },
      "learn-the-css-box-model-by-building-a-rothko-painting": {
        "title": "Aprenda o box model do CSS criando uma pintura 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."
        ]
      },
      "learn-css-variables-by-building-a-city-skyline": {
        "title": "Aprenda variáveis em CSS criando o horizonte em uma 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."
        ]
      },
      "learn-html-forms-by-building-a-registration-form": {
        "title": "Aprenda formulários em HTML criando um formulário de registro",
        "intro": [
          "Você pode usar formulários HTML para coletar informações de pessoas que visitam sua página da web.",
          "Neste curso, você aprenderá formulários HTML construindo uma página de cadastro. Você aprenderá como controlar quais tipos de dados as pessoas podem digitar em seu formulário e algumas novas ferramentas CSS para estilizar sua página."
        ]
      },
      "learn-accessibility-by-building-a-quiz": {
        "title": "Aprenda acessibilidade criando um questionário",
        "intro": [
          "A acessibilidade facilita a utilização da sua página da web para todos – mesmo para as pessoas com deficiência.",
          "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."
        ]
      },
      "learn-intermediate-css-by-building-a-picasso-painting": {
        "title": "Aprenda CSS intermediário criando uma pintura de Picasso",
        "intro": [
          "Neste curso, você aprenderá a utilizar algumas técnicas de CSS intermediárias programando sua própria página de uma pintura de Picasso. Você vai aprender sobre ícones SVG, posicionamento em CSS e revisar outras habilidades CSS que você aprendeu."
        ]
      },
      "learn-responsive-web-design-by-building-a-piano": {
        "title": "Aprenda design responsivo para a web criando um piano",
        "intro": [
          "O design responsivo diz à sua página da web como ela deve ficar em telas de tamanho diferente.",
          "Neste curso, você vai usar CSS e Design responsivo para codar um piano. Você também vai aprender mais sobre media queries e pseudo seletores."
        ]
      },
      "learn-css-flexbox-by-building-a-photo-gallery": {
        "title": "Aprenda CSS Flexbox criando uma galeria de fotos",
        "intro": [
          "O Flexbox ajuda você a projetar sua página da web para que fique bem em qualquer tamanho de tela.",
          "Neste curso, você vai usar o Flexbox para construir uma página da galeria de fotos responsiva."
        ]
      },
      "learn-css-grid-by-building-a-magazine": {
        "title": "Aprenda sobre CSS Grid criando 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 curso, você vai construir um artigo de revista. Você aprenderá a usar o CSS Grid, incluindo conceitos como linhas e colunas de grade."
        ]
      },
      "learn-typography-by-building-a-nutrition-label": {
        "title": "Aprenda tipografia criando 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."
        ]
      },
      "learn-css-transforms-by-building-a-penguin": {
        "title": "Aprenda transformações em CSS criando um pinguim",
        "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."
        ]
      },
      "learn-css-animation-by-building-a-ferris-wheel": {
        "title": "Aprenda animação em CSS construindo uma roda gigante",
        "intro": [
          "Você pode usar a animação em CSS para chamar a atenção para seções específicas da sua página e torná-la mais envolvente.",
          "Neste curso, você vai construir uma roda-gigante. Você vai aprender como usar o CSS para animar elementos, transformá-los e ajustar sua velocidade."
        ]
      },
      "learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet": {
        "title": "Aprenda mais sobre pseudosseletores de CSS criando uma folha de saldo",
        "intro": [
          "Você pode usar pseudosseletores em CSS para alterar elementos HTML específicos.",
          "Neste curso, você criará uma folha de balanço usando pseudosseletores. Você aprenderá como alterar o estilo de um elemento ao passar o mouse sobre ele e acionar outros eventos em sua página da web."
        ]
      },
      "learn-css-colors-by-building-a-set-of-colored-markers": {
        "title": "Aprenda cores em CSS criando um conjunto de marcadores coloridos",
        "intro": [
          "Selecionar as cores corretas para sua página da web pode melhorar muito o apelo estético para os seus leitores.",
          "Neste curso, você criará um conjunto de marcadores coloridos. Você aprenderá maneiras diferentes de definir valores de cores e como combinar cores uma com a outra."
        ]
      },
      "learn-intermediate-css-by-building-a-cat-painting": {
        "title": "Aprenda CSS intermediário criando a pintura de um gato",
        "intro": [
          "Dominar o posicionamento em CSS é essencial para criar layouts visualmente atraentes e responsivos para a web",
          "Neste curso, você criará a pintura de um gato. Você aprenderá a trabalhar com o posicionamento absoluto, com a propriedade z-index e com a propriedade transform."
        ]
      }
    }
  },
  "javascript-algorithms-and-data-structures": {
    "title": "Algoritmos em JavaScript e Estrutura de Dados edição antiga V7",
    "intro": [
      "Enquanto o HTML e o CSS controlam o conteúdo e o estilo de uma página, o JavaScript é usado para torná-lo interativo. Na certificação de Algoritmos e Estruturas de Dados em JavaScript, você aprenderá os fundamentos do JavaScript, incluindo variáveis, arrays, objetos, laços e funções.",
      "Assim que souber os fundamentos abaixo, você aplicará esse conhecimento, criando algoritmos para manipular strings, fatorar números e até mesmo calcular a órbita da Estação Espacial Internacional.",
      "Durante o processo, você também aprenderá dois estilos ou paradigmas de programação importantes: a Programação Orientada a Objetos (POO) e a Programação Funcional (PF)."
    ],
    "note": "Observação: algumas extensões de navegador, como bloqueadores de anúncios e bloqueadores de scripts, podem interferir nos testes. Se você tiver problemas, recomendamos desabilitar extensões que modifiquem ou bloqueiem o conteúdo das páginas durante o curso.",
    "blocks": {
      "basic-javascript": {
        "title": "JavaScript básico",
        "intro": [
          "O JavaScript é uma linguagem de script que você pode usar para tornar as páginas da web interativas. É uma das principais tecnologias da web, juntamente com o HTML e o CSS e tem o suporte de todos os navegadores modernos.",
          "Neste curso, você aprenderá conceitos básicos de programação em JavaScript. Você vai começar com estruturas básicas de dados, como números e strings. Então, você aprenderá a trabalhar com arrays, objetos, funções, laços, instruções if/else e muito mais."
        ]
      },
      "es6": {
        "title": "ES6",
        "intro": [
          "ECMAScript, ou ES, é uma versão padronizada do JavaScript. Como todos os principais navegadores seguem essa especificação, os termos ECMAScript e JavaScript são intercambiáveis.",
          "A maior parte do JavaScript que você aprendeu até este momento estava na ES5 (ECMAScript 5), que foi finalizada em 2009. Mesmo que você ainda possa escrever programas em ES5, saiba que o JavaScript está constantemente em evolução e, por isso, novas funcionalidades são lançadas todos os anos.",
          "O ES6, lançado em 2015, adicionou muitos recursos novos e poderosos à linguagem. Neste curso, você aprenderá quais são eles, incluindo arrow functions, desestruturação, classes, promises e módulos."
        ]
      },
      "regular-expressions": {
        "title": "Expressões regulares",
        "intro": [
          "Expressões regulares, muitas vezes abreviadas como \"regex\" ou \"regexp\", são padrões que ajudam programadores a encontrar correspondências, pesquisar e substituir texto. Expressões regulares são muito poderosas, mas podem ser difíceis de ler porque usam caracteres especiais para fazer correspondências mais complexas e flexíveis.",
          "Neste curso, você aprenderá a usar caracteres especiais, grupos de captura, buscas positivas e negativas e outras técnicas para encontrar correspondências com o texto desejado."
        ]
      },
      "debugging": {
        "title": "Depuração",
        "intro": [
          "A depuração é o processo de revisão de código, procurando qualquer problema e corrigindo-o.",
          "Os problemas no código geralmente chegam em três formas: erros de sintaxe, que impedem que o programa seja executado, erros de tempo de execução, onde o código tem um comportamento inesperado, ou erros lógicos, onde o código não faz o que você pretendia.",
          "Neste curso, você aprenderá a usar o console do JavaScript para depurar programas e prevenir erros comuns antes de que aconteçam."
        ]
      },
      "basic-data-structures": {
        "title": "Estruturas de dados básicas",
        "intro": [
          "Os dados podem ser guardados e acessados de muitas formas. Você já conhece algumas estruturas de dados comuns em JavaScript: os arrays e os objetos.",
          "Neste curso de Estruturas de Dados Básicas, você vai aprender mais sobre as diferenças entre arrays e objetos, e qual deles usar em diferentes situações. Também aprenderá a usar métodos úteis do JS, como <code>splice()</code> e <code>Object.keys()</code>, para acessar e manipular dados."
        ]
      },
      "basic-algorithm-scripting": {
        "title": "Programação de algoritmos básicos",
        "intro": [
          "Um algoritmo é uma série de instruções passo a passo, que descrevem como fazer alguma coisa.",
          "Para escrever um algoritmo eficiente, é importante saber dividir o problema em partes menores e pensar atentamente sobre maneiras de resolver cada uma dessas partes com código.",
          "Nesse curso, você aprenderá os fundamentos do raciocínio algorítmico escrevendo algoritmos que fazem de tudo, desde a conversão de temperaturas ao tratamento de arrays bidimensionais complexos."
        ]
      },
      "object-oriented-programming": {
        "title": "Programação Orientada a Objetos",
        "intro": [
          "A POO, ou Programação Orientada a Objetos, é uma das abordagens principais do processo de desenvolvimento de software. Na POO, os objetos e as classes são usados para organizar o código, descrever coisas e o que elas podem fazer.",
          "Neste curso, você aprenderá os princípios básicos de POO em JavaScript, incluindo a palavra-chave <code>this</code>, cadeias de protótipos, construtores e herança."
        ]
      },
      "functional-programming": {
        "title": "Programação Funcional",
        "intro": [
          "Programação funcional é outra abordagem popular em desenvolvimento de software. Na programação funcional, o código é organizado em funções menores e básicas, que podem ser combinadas para criar programas complexos.",
          "Neste curso, você aprenderá os conceitos principais da Programação Funcional, incluindo funções puras, como evitar mutações e como escrever código mais limpo com métodos como <code>.map()</code> e <code>.filter()</code>."
        ]
      },
      "intermediate-algorithm-scripting": {
        "title": "Programação de algoritmos intermediários",
        "intro": [
          "Agora que você conhece as noções básicas de raciocínio algorítmico, juntamente com POO e Programação Funcional, teste suas habilidades com os desafios de Programação de Algoritmos Intermediários."
        ]
      },
      "javascript-algorithms-and-data-structures-projects": {
        "title": "Projetos de algoritmos e estruturas de dados em JavaScript",
        "intro": [
          "É hora de colocar suas novas habilidades em JavaScript para funcionar. Estes projetos são similares aos desafios de programação de algoritmos que você fez antes — só que muito mais difíceis.",
          "Conclua estes 5 projetos de JavaScript para ganhar a certificação de Algoritmos e Estruturas de Dados do JavaScript."
        ]
      }
    }
  },
  "javascript-algorithms-and-data-structures-v8": {
    "title": "Algoritmos em JavaScript e Estrutura de Dados edição antiga V8",
    "intro": [
      "Desenvolvedores usam HTML e CSS para controlar os componentes e estilizar a página. Eles também usam o JavaScript para tornar essa página interativa.",
      "Neste certificado de Algoritmos e estruturas de dados em JavaScript, você aprenderá os fundamentos de JavaScript como variáveis, arrays, objetos, laços, funções, o DOM e mais.",
      "Você também aprenderá sobre Programação Orientada a Objetos (POO), Programação Funcional, pensamento algorítmico, como trabalhar com armazenamento local e como buscar dados usando uma API."
    ],
    "note": "Observação: algumas extensões de navegadores, como bloqueadores de anúncios e scripts, podem interferir com os testes. Se você tiver problemas, recomendamos desabilitar as funções de bloqueio de conteúdos de páginas durante o curso.",
    "blocks": {
      "build-an-rpg-creature-search-app-project": {
        "title": "Construir um projeto de aplicativo de procura de criaturas RPG",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação.",
          "Para esse projeto, você criará uma aplicação para a busca de criaturas."
        ]
      },
      "build-a-cash-register-project": {
        "title": "Projeto de criação de uma caixa registradora",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação.",
          "Para esse projeto, você criará uma aplicação de caixa registradora para a web."
        ]
      },
      "build-a-palindrome-checker-project": {
        "title": "Projeto de criação de verificador de palíndromo",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação.",
          "Para esse projeto, você criará uma aplicação que verifica se uma determinada palavra é um palíndromo."
        ]
      },
      "build-a-roman-numeral-converter-project": {
        "title": "Projeto de criação de um conversor de números romanos",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação.",
          "Para esse projeto, você criará uma aplicação que converte números inteiros em números romanos."
        ]
      },
      "build-a-telephone-number-validator-project": {
        "title": "Projeto de criação de um validador de número telefônico",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação.",
          "Para esse projeto, você criará uma aplicação que verifica se o número de telefone é um número válido de telefone dos Estados Unidos."
        ]
      },
      "learn-basic-javascript-by-building-a-role-playing-game": {
        "title": "Aprenda JavaScript básico criando um jogo de RPG",
        "intro": [
          "O JavaScript é uma poderosa linguagem de script que você pode usar para fazer sites interativos. É uma das tecnologias essenciais da web, junto do HTML e do CSS. Todos os navegadores modernos suportam JavaScript.",
          "Nesse projeto prático, você aprenderá conceitos fundamentais de programação em JavaScript programando o próprio RPG. Você aprenderá a trabalhar com arrays, strings, objetos, funções, laços, instruções <code>if/else</code> e mais."
        ]
      },
      "learn-form-validation-by-building-a-calorie-counter": {
        "title": "Aprenda validação de formulário construindo um contador de calorias",
        "intro": [
          "Às vezes quando você está programando uma aplicação web, você irá precisar conseguir aceitar uma entrada de um usuário. Neste projeto de contador de calorias, você irá aprender a validar a entrada do usuário, executar cálculos baseados naquela entrada, e atualizar dinamicamente a sua interface para exibir os resultados.",
          "Neste projeto prático, você aprenderá expressões regulares básicas, template literals, o método <code>addEventListener()</code>, e mais."
        ]
      },
      "learn-functional-programming-by-building-a-spreadsheet": {
        "title": "Aprenda programação funcional criando uma planilha",
        "intro": [
          "A programação funcional é uma abordagem popular para desenvolvimento de software. Na programação funcional, os desenvolvedores organizam o código em funções menores, então combinam essas funções para criar programas complexos.",
          "Nesse projeto de aplicação de planilha, você aprenderá sobre análise e avaliação de expressões matemáticas, implementando funções de planilha, manipulando referências de células e criando interfaces da web interativas. Você aprenderá como atualizar dinamicamente a página baseada na entrada do usuário.",
          "Este projeto abrangerá conceitos como os métodos <code>map()</code>, <code>find()</code> e <code>includes()</code> e a função <code>parseInt()</code>."
        ]
      },
      "learn-modern-javascript-methods-by-building-football-team-cards": {
        "title": "Aprenda métodos modernos de JavaScript criando cards de equipes de futebol",
        "intro": [
          "Um aspecto comum da criação de aplicações web é trabalhar com o processamento de conjuntos de dados e, em seguida, enviar informações para a tela. Nesse projeto de cartões da equipe de futebol, você aprenderá como trabalhar com a manipulação do DOM, desestruturação de objetos, manipulação de eventos, e filtragem de dados.",
          "Este projeto abrangerá conceitos como parâmetros padrão, <code>Object.freeze()</code> e reforçará seu conhecimento sobre a instrução <code>switch</code> e sobre o método <code>map()</code>."
        ]
      },
      "learn-advanced-array-methods-by-building-a-statistics-calculator": {
        "title": "Aprenda métodos de arrays avançados criando uma calculadora de estatística",
        "intro": [
          "À medida que você expande suas habilidades em JavaScript, vai querer se sentir confortável com métodos de manipulação de arrays, como <code>map()</code>, <code>reduce()</code> e <code>filter()</code>.",
          "Nesse projeto de calculadora de estatísticas, você ganhará experiência com a manipulação de entradas do usuário, manipulação do DOM e métodos de encadeamento. Você praticará realizando cálculos estatísticos como média, mediana, moda, variância e desvio padrão."
        ]
      },
      "learn-basic-oop-by-building-a-shopping-cart": {
        "title": "Aprenda POO básica criando um carrinho de compras",
        "intro": [
          "POO, ou Programação Orientada a Objetos, é uma das principais abordagens do processo de desenvolvimento de software. Na POO, os desenvolvedores usam objetos e classes para estruturar seus códigos.",
          "Nesse projeto do carrinho de compras, você aprenderá como definir e usar classes. Você criará instâncias de classes e implementará métodos para a manipulação de dados.",
          "Esse projeto abrangerá conceitos como operador ternário, o operador spread, a palavra-chave <code>this</code> e muito mais."
        ]
      },
      "learn-fetch-and-promises-by-building-an-fcc-authors-page": {
        "title": "Aprenda Fetch e Promises criando uma página de autores do fCC",
        "intro": [
          "Um aspecto comum do desenvolvimento web é aprender a buscar dados de uma API externa e, em seguida, trabalhar com JavaScript assíncrono.",
          "Esse projeto da página de autores do freeCodeCamp mostrará a você como usar o método fetch e a atualizar dinamicamente o DOM para exibir os dados obtidos.",
          "Esse projeto também ensinará você a paginar os dados para poder carregar os resultados em lotes."
        ]
      },
      "learn-regular-expressions-by-building-a-spam-filter": {
        "title": "Aprenda expressões regulares criando um filtro de spam",
        "intro": [
          "Expressões regulares, frequentemente abreviadas como \"regex\" ou \"regexp\", são padrões que ajudam os programadores a corresponder, buscar e substituir texto. As expressões regulares são poderosas, mas podem ser difíceis de entender porque usam muitos caracteres especiais.",
          "Neste projeto de filtro de spam, você aprenderá a usar caracteres especiais, grupos de captura, buscas positivas e negativas, bem como outras técnicas para encontrar correspondências com o texto desejado."
        ]
      },
      "learn-basic-algorithmic-thinking-by-building-a-number-sorter": {
        "title": "Aprenda o raciocínio básico de algoritmos criando uma ordenação numérica",
        "intro": [
          "Na ciência da computação, existem algoritmos de classificação fundamentais que todos os desenvolvedores devem aprender. Neste projeto de criação de um ordenador de números, você aprenderá a implementar e visualizar diferentes algoritmos de classificação, como o Bubble Sort, o Selection Sort e o Insertion Sort usando JavaScript.",
          "Este projeto ajudará você a entender os conceitos fundamentais por trás desses algoritmos, e como você pode aplicá-los para classificar dados numéricos em aplicações para a web."
        ]
      },
      "review-algorithmic-thinking-by-building-a-dice-game": {
        "title": "Revise o raciocínio algorítmico criando um jogo de dados",
        "intro": [
          "Raciocínio algorítmico implica a capacidade de dividir problemas complexos em uma sequência de instruções passo a passo e bem definidas.",
          "Neste projeto de jogo de dados, você aprenderá como gerenciar o estado do jogo, implementar a lógica do jogo para rolar os dados, manter a pontuação e aplicar as regras para várias combinações.",
          "O projeto aborda conceitos como manipulação de eventos, manipulação de arrays, lógica condicional e atualização dinâmica da interface de usuário baseada no estado do jogo."
        ]
      },
      "learn-intermediate-oop-by-building-a-platformer-game": {
        "title": "Aprenda POO intermediária criando um jogo de plataforma",
        "intro": [
          "Programar um jogo é uma ótima maneira de entender os princípios fundamentais da programação e, ao mesmo tempo, criar uma experiência interativa de jogos.",
          "Neste projeto de jogo de plataforma, você continuará a aprender sobre classes, objetos, herança e encapsulamento. Você também aprenderá a projetar e organizar eficientemente os elementos de jogo e saberá mais sobre a resolução de problemas e a reutilização de código."
        ]
      },
      "learn-localstorage-by-building-a-todo-app": {
        "title": "Aprenda armazenamento local criando uma aplicação de lista de tarefas",
        "intro": [
          "O armazenamento local é um recurso dos navegadores da web que permite que aplicações para a web armazenem pares de chave-valor de maneira persistente no navegador do usuário. Isso permite que aplicações para a web salvem dados durante uma sessão e os recuperem em uma sessão posterior.",
          "Nesta aplicação de lista de tarefas, você aprenderá a lidar com entradas de formulário, a gerenciar o armazenamento local, a executar operações de CRUD (Criar, Ler, Atualizar, Apagar) em tarefas, a implementar ouvintes de eventos e a alternar elementos da interface do usuário."
        ]
      },
      "learn-the-date-object-by-building-a-date-formatter": {
        "title": "Aprenda sobre o objeto Date criando um formatador de data",
        "intro": [
          "Trabalhar com datas em JavaScript pode ser desafiador. Você tem que navegar por vários métodos, formatos e fusos horários. Neste projeto, você aprenderá a trabalhar com o objeto Date no JavaScript, incluindo os seus métodos e propriedades. Você também aprenderá a formatar datas corretamente.",
          "Este projeto abrangerá conceitos como os métodos: <code>getDate()</code>, <code>getMonth()</code> e <code>getFullYear()</code>."
        ]
      },
      "learn-asynchronous-programming-by-building-an-fcc-forum-leaderboard": {
        "title": "Aprenda programação assíncrona criando uma tabela de classificação para o fórum do fCC",
        "intro": [
          "JavaScript é uma linguagem de programação assíncrona. Este projeto ajudará você a entender melhor os conceitos assíncronos. Você programará a sua própria tabela de classificação do fórum do freeCodeCamp.",
          "Este projeto cobrirá a Fetch API, promises, async/await e a declaração try... catch."
        ]
      },
      "learn-basic-string-and-array-methods-by-building-a-music-player": {
        "title": "Aprenda métodos básicos de strings e arrays criando um reprodutor de músicas",
        "intro": [
          "Agora, vamos aprender alguns métodos essenciais de strings e arrays como <code>find()</code>, <code>forEach()</code>, <code>map()</code> e <code>join()</code>. Esses métodos são cruciais para o desenvolvimento de aplicações para a web dinâmicas.",
          "Neste projeto, você programará um reprodutor de MP3 básico usando HTML, CSS e JavaScript. O projeto abrange conceitos fundamentais, como o processamento de reprodução de áudio, gerenciamento de uma lista de reprodução, implementação das funcionalidades de reproduzir, parar, passar para a próxima música, voltar para a música anterior e reproduzir uma música aleatória. Você aprenderá ainda a atualizar dinamicamente a interface do usuário com base na música atual."
        ]
      },
      "learn-recursion-by-building-a-decimal-to-binary-converter": {
        "title": "Aprenda recursão criando um conversor de decimal para binário",
        "intro": [
          "Recursão é um conceito de programação onde uma função chama a si mesma. Isso pode reduzir um problema complexo em subprogramas mais simples, até que eles se tornem fáceis de resolver.",
          "Neste projeto, você criará um conversor de decimal para binário usando JavaScript. Você aprenderá os conceitos fundamentais de recursão, explorará a pilha de chamadas e criará uma representação visual do processo de recursão por meio de uma animação."
        ]
      },
      "learn-introductory-javascript-by-building-a-pyramid-generator": {
        "title": "Aprenda JavaScript introdutório criando um gerador de pirâmide",
        "intro": [
          "O JavaScript é uma linguagem de script poderosa que você pode usar para fazer sites interativos. É uma das tecnologias essenciais da web, junto do HTML e do CSS. Todos os navegadores modernos suportam JavaScript.",
          "Nesse projeto prático, você aprenderá conceitos fundamentais de programação em JavaScript programando um gerador de pirâmide. Você aprenderá a trabalhar com arrays, strings, objetos, funções, laços, instruções <code>if/else</code> e mais."
        ]
      },
      "review-js-fundamentals-by-building-a-gradebook-app": {
        "title": "Revise os fundamentos de JavaScript criando uma aplicação de quadro de notas",
        "intro": [
          "Neste miniprojeto, você poderá revisar alguns fundamentos de JavaScript, como funções, variáveis, condicionais e muito mais, ao criar uma aplicação de quadro de notas.",
          "Isso dará a você a oportunidade de resolver pequenos problemas e de compreender entender os fundamentos."
        ]
      },
      "learn-basic-debugging-by-building-a-random-background-color-changer": {
        "title": "Aprenda depuração básica criando um alterador aleatório de cor de fundo",
        "intro": [
          "A depuração é o processo de revisão de código, procurando qualquer problema e corrigindo-o.",
          "Neste projeto, você ajudará o CamperBot a criar um alterador aleatório de cores e vai ajudá-lo a encontrar e corrigir erros."
        ]
      },
      "review-dom-manipulation-by-building-a-rock-paper-scissors-game": {
        "title": "Revise a manipulação do DOM criando um jogo de pedra, papel e tesoura",
        "intro": [
          "Nos projetos anteriores, você aprendeu a trabalhar com a manipulação básica do DOM. Agora, é hora de rever o que você aprendeu criando um jogo de pedra, papel e tesoura.",
          "Neste miniprojeto, você vai rever condicionais, funções, <code>getElementById</code> e mais. Esse projeto dará a você a oportunidade de resolver pequenos problemas e de compreender melhor os fundamentos."
        ]
      }
    }
  },
  "front-end-development-libraries": {
    "title": "Bibliotecas de Desenvolvimento Front-End V8",
    "intro": [
      "Agora que você está familiarizado com HTML, CSS e JavaScript, melhore suas habilidades aprendendo algumas das bibliotecas front-end mais populares do setor.",
      "Na certificação de Bibliotecas de Desenvolvimento Front-End, você aprenderá a estilizar seu site rapidamente com Bootstrap. Você também aprenderá a adicionar lógica aos seus estilos CSS e a ampliá-los com Sass.",
      "Mais tarde, você construirá um carrinho de compras e outras aplicações para aprender a criar Aplicativos de Página Única (Single Page Applications - SPA) poderosos com React e Redux."
    ],
    "note": "",
    "blocks": {
      "bootstrap": {
        "title": "Bootstrap",
        "intro": [
          "Bootstrap é um framework de front-end usado para projetar páginas da web e aplicativos responsivos. Ele adota uma abordagem mobile-first para o desenvolvimento na web e inclui estilos e classes CSS pré-construídos, além de algumas funcionalidades JavaScript.",
          "Neste curso, você aprenderá a criar sites responsivos com Bootstrap, e usará as classes que ele tem para estilizar botões, imagens, formulários, navegação e outros elementos comuns."
        ]
      },
      "jquery": {
        "title": "jQuery",
        "intro": [
          "O jQuery é uma das bibliotecas JavaScript mais usadas no mundo.",
          "Em 2006, quando foi lançado, todos os principais navegadores lidavam com JavaScript de forma ligeiramente diferente. O jQuery simplificou o processo de escrita de JavaScript do lado do cliente, além de assegurar que seu código funcionasse da mesma forma em todos os navegadores.",
          "Neste curso, você aprenderá a usar jQuery para selecionar, remover, clonar e modificar diferentes elementos na página."
        ]
      },
      "sass": {
        "title": "SASS",
        "intro": [
          "Sass, ou \"Stylesheets Sintaticamente Incríveis\", do inglês \"Syntactically Awesome StyleSheets\", é uma extensão da linguagem CSS. A extensão adiciona recursos que não estão disponíveis no CSS básico, facilitando a simplificação e manutenção dos arquivos de estilo de seus projetos.",
          "Neste curso sobre Sass, você aprenderá a armazenar dados em variáveis, aninhar CSS, criar estilos reutilizáveis com mixins, adicionar lógica e loops aos seus estilos, e mais."
        ]
      },
      "react": {
        "title": "React",
        "intro": [
          "React é uma biblioteca JavaScript popular para a criação de interfaces de usuário reutilizáveis e orientadas por componentes para páginas ou aplicações.",
          "O React combina HTML com funcionalidade JavaScript em sua própria linguagem markup, chamada JSX. Ele também facilita a gestão do fluxo de dados por toda a aplicação.",
          "Neste curso, você vai aprender a criar diferentes componentes do React, a gerenciar dados na forma de propriedades de estado (\"state props\"), a utilizar diferentes métodos de ciclo de vida, como o <code>componentDidMount</code>, e muito mais."
        ]
      },
      "redux": {
        "title": "Redux",
        "intro": [
          "À medida que as aplicações crescem em tamanho e escopo, o gerenciamento de dados compartilhados torna-se muito mais difícil. O Redux é definido como um \"contêiner de estado previsível para aplicações JavaScript\", o que ajuda a garantir que suas aplicações funcionem de forma previsível e que sejam mais fáceis de testar.",
          "Embora você possa usar o Redux com qualquer biblioteca de visualizações, apresentamos o Redux aqui antes de combiná-lo com React no próximo conjunto de cursos.",
          "Nesse curso, você vai aprender os fundamentos das stores, actions, reducers e middlewares do Redux para gerenciar dados por toda sua aplicação."
        ]
      },
      "react-and-redux": {
        "title": "React e Redux",
        "intro": [
          "React e Redux são muitas vezes mencionados juntos, e por uma boa razão. O desenvolvedor que criou o Redux era um desenvolvedor do React que queria facilitar o compartilhamento de dados entre diferentes componentes.",
          "Agora que você sabe como gerenciar o fluxo de dados compartilhados com Redux, é hora de combinar esse conhecimento com React. Nos cursos do React e Redux, você vai construir um componente React e aprender como gerenciar estado localmente, ao nível do componente e por toda aplicação com Redux."
        ]
      },
      "front-end-development-libraries-projects": {
        "title": "Projetos de desenvolvimento com bibliotecas de front-end",
        "intro": [
          "É hora de testar suas habilidades nas bibliotecas de desenvolvimento de front-end. Use Bootstrap, jQuery, Sass, React e Redux para criar 5 projetos que testarão tudo o que você aprendeu até agora.",
          "Complete todos os 5 projetos e você ganhará a certificação em Bibliotecas de Desenvolvimento Front-End."
        ]
      }
    }
  },
  "data-visualization": {
    "title": "Visualização de dados V8",
    "intro": [
      "Os dados estão ao nosso redor, mas isso não quer dizer muita coisa se eles não tiverem forma ou contexto.",
      "Na certificação de visualização de dados, você criará tabelas, gráficos e mapas para apresentar diferentes tipos de dados com a biblioteca D3.js.",
      "Você também aprenderá sobre JSON (JavaScript Object Notation) e sobre como trabalhar com dados on-line usando uma API (Application Programming Interface)."
    ],
    "note": "",
    "blocks": {
      "data-visualization-with-d3": {
        "title": "Visualização de dados com D3",
        "intro": [
          "D3, ou D3.js, significa Documentos Orientados aos Dados. É uma biblioteca JavaScript para criar visualizações de dados dinâmicas e interativas no navegador.",
          "O D3 foi criado para funcionar com padrões web comuns, como o HTML, o CSS e os Scalable Vector Graphics (SVG).",
          "O D3 suporta vários tipos diferentes de formatos de dados de entrada. Usando os poderosos métodos integrados do D3, você consegue transformar esses dados em diferentes gráficos, diagramas e mapas.",
          "Nos cursos de visualização de dados com o D3, você aprenderá a trabalhar com dados para criar diferentes diagramas, gráficos, elementos \"hover\" e outros componentes para gerar visualizações de dados dinâmicas e atrativas."
        ]
      },
      "json-apis-and-ajax": {
        "title": "APIs JSON e AJAX",
        "intro": [
          "Da mesma forma como as IUs ajudam as pessoas a usarem os programas, as APIs (Interfaces de Programação de Aplicação) ajudam programas a interagir com outros programas. As APIs são ferramentas que os computadores usam para se comunicarem uns com os outros, em parte, para enviar e receber dados.",
          "Programadores frequentemente usam AJAX (JavaScript e XML assíncronos) quando estão trabalhando com APIs. AJAX refere-se a um conjunto de tecnologias que faz solicitações assíncronas para um servidor transferir dados e, em seguida, carregar os dados que forem retornados para a página. Os dados transferidos entre o navegador e o servidor frequentemente estão em um formato chamado JSON (JavaScript Object Notation).",
          "Este curso ensinará o básico sobre como trabalhar com APIs e diferentes tecnologias AJAX no browser."
        ]
      },
      "data-visualization-projects": {
        "title": "Projetos de visualização de dados",
        "intro": [
          "Agora que você aprendeu a trabalhar com D3, APIs e tecnologias AJAX, teste suas habilidades com esses 5 projetos de Visualização de Dados.",
          "Nestes projetos, você precisará buscar dados e analisar um conjunto de dados e, em seguida, usar D3 para criar diferentes visualizações de dados. Conclua todos para receber a sua certificação de Visualização de Dados."
        ]
      }
    }
  },
  "relational-database": {
    "title": "Banco de Dados Relacionais V8",
    "intro": [
      "Para estes cursos, você usará ferramentas e software reais de desenvolvedor, incluindo o VS Code, PostgreSQL e a linha de comando do Linux/Unix para completar tutoriais interativos e criar projetos.",
      "Estes cursos começam com comandos básicos do Bash. Usando o terminal, você aprenderá tudo, de navegar e manipular um sistema de arquivos e fazer scripts no Bash, até usos mais avançados.",
      "Depois, você aprenderá a criar e trabalhar com bancos de dados relacionados usando o PostgreSQL, um sistema de gerenciamento de banco de dados, e o SQL, a linguagem destes bancos de dados.",
      "Por fim, você aprenderá o Git, o sistema de controle de versão, uma ferramenta essencial de cada desenvolvedor."
    ],
    "blocks": {
      "build-a-celestial-bodies-database-project": {
        "title": "Banco de dados de corpos celestiais",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você vai construir um banco de dados de corpos celestiais usando PostgreSQL."
        ]
      },
      "build-a-number-guessing-game-project": {
        "title": "Jogo de adivinhação de números",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, 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."
        ]
      },
      "build-a-periodic-table-database-project": {
        "title": "Banco de dados da tabela periódica",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará um script do Bash para obter informações sobre elementos químicos de um banco de dados de tabela periódica."
        ]
      },
      "build-a-salon-appointment-scheduler-project": {
        "title": "Agendador de compromissos do salão de beleza",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará um programa de bash interativo que utiliza PostgreSQL para acompanhar os clientes e horários marcados em seu salão."
        ]
      },
      "build-a-world-cup-database-project": {
        "title": "Banco de dados da Copa do Mundo",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "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."
        ]
      },
      "learn-advanced-bash-by-building-a-kitty-ipsum-translator": {
        "title": "Aprenda Bash avançado construindo um tradutor de Kitty Ipsum",
        "intro": [
          "Há mais comandos do Bash do que você imagina.",
          "Neste curso de 140 aulas, você aprenderá alguns comandos mais complexos e detalhes de como funcionam os comandos."
        ]
      },
      "learn-bash-and-sql-by-building-a-bike-rental-shop": {
        "title": "Aprenda Bash e SQL criando uma loja de aluguel de bicicletas",
        "intro": [
          "Neste curso 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."
        ]
      },
      "learn-bash-by-building-a-boilerplate": {
        "title": "Aprenda Bash criando 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 curso de 170 aulas, você aprenderá comandos do terminal criando o boilerplate de um site usando apenas a linha de comando."
        ]
      },
      "learn-bash-scripting-by-building-five-programs": {
        "title": "Aprenda Bash Scripting desenvolvendo 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 curso de 220 aulas, você aprenderá mais comandos do terminal e como usá-los dentro de scripts do Bash, criando cinco programas pequenos."
        ]
      },
      "learn-git-by-building-an-sql-reference-object": {
        "title": "Aprenda Git criando 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 curso 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."
        ]
      },
      "learn-nano-by-building-a-castle": {
        "title": "Aprenda Nano criando um castelo",
        "intro": [
          "O Nano é um programa que permite editar arquivos diretamente no terminal.",
          "Neste curso de 40 aulas, você aprenderá a editar arquivos no terminal com o nano e construirá um castelo."
        ]
      },
      "learn-relational-databases-by-building-a-database-of-video-game-characters": {
        "title": "Aprenda Banco de Dados Relacionais Construindo um Banco de Dados de Personagens de Jogos de Vídeo Games",
        "intro": [
          "Um banco de dados relacional organiza dados em tabelas vinculadas por relacionamentos.",
          "Neste curso de 165 aulas, você aprenderá o essencial sobre bancos de dados relacionais, criando um banco de dados PostgreSQL com vários personagens de videogame."
        ]
      },
      "learn-sql-by-building-a-student-database-part-1": {
        "title": "Aprenda SQL criando 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 curso 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."
        ]
      },
      "learn-sql-by-building-a-student-database-part-2": {
        "title": "Aprenda SQL criando 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 curso de 140 aulas, você completará seu banco de dados de alunos, mergulhando mais fundo nos comandos SQL."
        ]
      }
    }
  },
  "back-end-development-and-apis": {
    "title": "Desenvolvimento Back-End e APIs V8",
    "intro": [
      "Até esse ponto, você usou JavaScript apenas no front-end para adicionar interatividade a uma página, resolver desafios de algoritmos ou construir uma SPA. Mas o JavaScript também pode ser usado no back-end, ou servidor, para construir aplicações web inteiras.",
      "Hoje em dia, uma das formas populares de se criar aplicações é através do uso de microsserviços, que são pequenas aplicações modulares que trabalham em conjunto para formar uma aplicação maior inteira.",
      "Na certificação de Desenvolvimento Back-End e APIs, você aprenderá a escrever aplicações de back-end com Node.js e npm. Você também vai construir aplicações web com o framework Express, e criará um microsserviço de localização de pessoas com o MongoDB e com a biblioteca Mongoose."
    ],
    "note": "",
    "blocks": {
      "managing-packages-with-npm": {
        "title": "Gerenciamento de pacotes com o NPM",
        "intro": [
          "O npm (Node Package Manager) é uma ferramenta de linha de comando para instalar, criar e compartilhar pacotes de código JavaScript escritos para Node.js. Há muitos pacotes de código aberto disponíveis no npm. Então, antes de iniciar um projeto, explore os pacotes que já existem para que você não acabe recriando do zero coisas como trabalhar com datas ou buscar dados de uma API.",
          "Neste curso, você aprenderá o básico sobre como usar o npm, incluindo como trabalhar com o <code>package.json</code> e como gerenciar suas dependências instaladas."
        ]
      },
      "basic-node-and-express": {
        "title": "Básico sobre Node e Express",
        "intro": [
          "O Node.js é um ambiente de execução em JavaScript que permite que os desenvolvedores escrevam programas de back-end (no lado do servidor) em JavaScript. O Node.js vem com diversos módulos internos — pequenos programas independentes — que ajudam com isso. Alguns dos principais módulos incluem o HTTP, que atua como um servidor, e um sistema de arquivos, que atua como um módulo para ler e modificar arquivos.",
          "Nos últimos cursos, você aprendeu a instalar e gerenciar pacotes a partir do npm, que são coleções de pequenos módulos. Estes pacotes podem ajudá-lo a construir aplicações maiores e mais complexas.",
          "O Express é um framework leve para a criação de aplicações web, sendo um dos pacotes mais populares no npm. O Express torna muito mais fácil criar um servidor e lidar com o roteamento para seu aplicativo, lidando com coisas como direcionar as pessoas para a página correta quando elas visitam um determinado endpoint, como <pre>/blog</pre>.",
          "Neste curso, você aprenderá o básico do Node e do Express, incluindo como criar um servidor, manusear arquivos diferentes e manipular diferentes solicitações de um navegador."
        ]
      },
      "mongodb-and-mongoose": {
        "title": "MongoDB e Mongoose",
        "intro": [
          "O MongoDB é uma aplicação de banco de dados que armazena documentos JSON (ou registros) que podem ser usados em sua aplicação. Ao contrário do SQL, outro tipo de banco de dados, o MongoDB é um banco de dados não relacional ou \"NoSQL\". Isto significa que o MongoDB armazena todos os dados associados dentro de um registro, em vez de armazená-los em muitas tabelas predefinidas, como em um banco de dados SQL.",
          "O Mongoose é um pacote popular do npm para a interação com o MongoDB. Com o Mongoose, você pode usar objetos JavaScript simples em vez de JSON, o que torna mais fácil trabalhar com o MongoDB. Além disso, ele permite que você crie projetos para seus documentos, chamados schemas, para que você não salve acidentalmente o tipo errado de dados e cause bugs mais tarde.",
          "Nos cursos de MongoDB e Mongoose, você aprenderá os fundamentos de trabalhar com dados persistentes, incluindo como configurar um modelo, salvar, excluir e buscar documentos no banco de dados."
        ]
      },
      "back-end-development-and-apis-projects": {
        "title": "Projetos de APIs e desenvolvimento de back-end",
        "intro": [
          "Você já trabalhou com APIs antes, mas agora que você conhece o npm, Node, Express, MongoDB e o Mongoose, é hora de construir a sua própria API. Utilize tudo o que você aprendeu até esse ponto para criar 5 microsserviços diferentes – aplicações menores e com escopo limitado.",
          "Depois de criá-las, você terá 5 APIs de microsserviço sensacionais, que poderão ser mostradas para amigos, familiares e potenciais empregadores. Ah, e você também terá uma Certificação em APIs e desenvolvimento de back-end novinha."
        ]
      }
    }
  },
  "quality-assurance": {
    "title": "Garantia de qualidade",
    "intro": [
      "À medida que seus programas ou aplicativos da web se tornam mais complexos, você vai querer testá-los para garantir que novas alterações não quebrem as funcionalidades originais.",
      "Na certificação de garantia de qualidade, você aprenderá a escrever testes com o Chai para garantir que suas aplicações funcionem da maneira que você espera.",
      "Em seguida, você vai construir uma aplicação de chat para aprender conceitos avançados de Node e Express. Você também usará o Pug como um modelo de motor, o Passport, para autenticação, e o Socket.io, para comunicação em tempo real entre o servidor e os clientes conectados."
    ],
    "note": "",
    "blocks": {
      "quality-assurance-and-testing-with-chai": {
        "title": "Garantia de qualidade e teste com o Chai",
        "intro": [
          "O Chai é uma biblioteca de testes do JavaScript que ajuda você a confirmar que seu programa ainda se comporta como você espera após realizar alterações no código.",
          "Usando o Chai, você pode escrever testes que descrevem as exigências do programa e ver se o programa as satisfaz.",
          "Neste curso, você aprenderá sobre afirmações, igualdade profunda, condição de verdade, testes de APIs e outros fundamentos para testar aplicações JavaScript."
        ]
      },
      "advanced-node-and-express": {
        "title": "Node e Express avançado",
        "intro": [
          "Agora é hora de fazer um mergulho profundo no Node.js e no Express.js, construindo uma aplicação de chat com um sistema de login.",
          "Para implementar o sistema de login de forma segura, você precisará saber sobre autenticação. Este é o ato de verificar a identidade de uma pessoa ou um processo.",
          "Neste curso, você aprenderá a usar o Passport para gerenciar a autenticação, o Pug para criar modelos reutilizáveis para a construção rápida do front-end, e web sockets para a comunicação em tempo real entre os clientes e o servidor."
        ]
      },
      "quality-assurance-projects": {
        "title": "Projetos de garantia de qualidade",
        "intro": [
          "Agora que você conhece bem o front-end e o back-end, chegou a hora de aplicar todas as habilidades e conceitos que aprendeu até agora. Você vai construir 5 aplicações web diferentes e escrever testes para cada uma, para garantir que estão funcionando e que podem lidar com casos diferentes.",
          "Depois de concluir estes projetos de garantia de qualidade (QA), você terá mais 5 projetos e uma nova certificação para exibir em seu portfólio."
        ]
      }
    }
  },
  "scientific-computing-with-python": {
    "title": "Computação Científica com Python",
    "intro": [
      "O currículo de Computação Científica com Python equipará você com as habilidades para analizar e manipular dados usando o Python, uma linguagem de programação poderosa e versátil. Você aprenderá conceitos-chave como estrutura de dados, algoritmos, Programação Orientada a Objetos e como realizar cálculos complexos usando uma variedade de ferramentas.",
      "Este curso abrangente guiará você através dos fundamentos da computação científica, incluindo estrutura de dados e algoritmos."
    ],
    "note": "",
    "blocks": {
      "learn-string-manipulation-by-building-a-cipher": {
        "title": "Aprenda manipulação de strings criando uma cifra",
        "intro": [
          "O Python é uma linguagem de programação poderosa e popular amplamente utilizada para ciência de dados, visualização de dados, desenvolvimento para a web, desenvolvimento de jogos, aprendizado de máquina e muito mais.",
          "Nesse projeto, você aprenderá conceitos fundamentais de programação em Python, como variáveis, funções, laços e instruções condicionais. Você os usará para programar seus primeiros programas."
        ]
      },
      "learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm": {
        "title": "Aprenda a trabalhar com números e strings implementando o algoritmo de Luhn",
        "intro": [
          "O algoritmo de Luhn é amplamente utilizado para a verificação de erros em várias aplicações, como a verificação de números de cartões de crédito.",
          "Ao construir esse projeto, você ganhará experiência de trabalho com computação numérica e manipulação de strings."
        ]
      },
      "learn-list-comprehension-by-building-a-case-converter-program": {
        "title": "Aprenda compreensão de listas em Python criando um programa conversor de casos",
        "intro": [
          "A compreensão de listas é uma maneira de criar uma nova lista em Python de tipo iterável: listas, tuplas e strings. Tudo isso ocorre sem usar um loop for ou o método de lista `.append()`.",
          "Neste projeto, você escreverá um programa que recebe uma string formatada em Camel Case ou Pascal Case e a converte em Snake Case.",
          "O projeto tem duas fases: primeiro, você usará um loop for para implementar o programa. Em seguida, você aprenderá a usar a compreensão de lista em vez de um loop para obter os mesmos resultados."
        ]
      },
      "learn-regular-expressions-by-building-a-password-generator": {
        "title": "Aprenda expressões regulares criando um gerador de senha",
        "intro": [
          "Um módulo do Python é um arquivo que contém um conjunto de instruções e definições que podem ser usadas em seu código.",
          "Neste projeto, você aprenderá a importar módulos da biblioteca padrão do Python. Você também aprenderá a usar expressões regulares criando seu próprio programa de geração de senha."
        ]
      },
      "learn-algorithm-design-by-building-a-shortest-path-algorithm": {
        "title": "Aprenda design de algoritmos criando um algoritmo de caminho mais curto",
        "intro": [
          "Algoritmos são procedimentos passo a passo que desenvolvedores usam para realizar cálculos e resolver problemas computacionais.",
          "Neste projeto, você aprenderá a usar funções, laços, declarações condicionais e compreensões de dicionário para implementar um algoritmo do caminho mais curto."
        ]
      },
      "learn-recursion-by-solving-the-tower-of-hanoi-puzzle": {
        "title": "Aprenda recursão resolvendo o quebra-cabeças da Torre de Hanói",
        "intro": [
          "Recursão é uma abordagem de programação que permite que você resolva problemas complicados de computação com pouco código.",
          "Neste projeto, você começará com uma abordagem baseada em laços para resolver o quebra-cabeça matemático da Torre de Hanói. Depois, você aprenderá a implementar uma solução recursiva."
        ]
      },
      "learn-data-structures-by-building-the-merge-sort-algorithm": {
        "title": "Aprenda estrutura de dados criando o algoritmo de Merge Sort",
        "intro": [
          "O algoritmo de Merge Sort (ordenação por mistura ou mesclagem) é um algoritmo de classificação baseado no princípio \"dividir para conquistar\".",
          "Neste projeto, você aprenderá a interagir com estruturas de dados classificando uma lista de números aleatórios usando o algoritmo de Merge Sort."
        ]
      },
      "learn-classes-and-objects-by-building-a-sudoku-solver": {
        "title": "Aprenda classes e objetos criando um solucionador de Sudoku",
        "intro": [
          "Classes e objetos são conceitos importantes em programação. Essas ferramentas de Programação Orientada a Objetos ajudam os desenvolvedores a alcançar modularidade, abstração e legibilidade de código. Eles também promovem a reutilização.",
          "Neste projeto do solucionador de Sudoku, você aprenderá a usar classes e objetos para criar uma grade de Sudoku e a resolver um quebra-cabeças do Sudoku."
        ]
      },
      "learn-tree-traversal-by-building-a-binary-search-tree": {
        "title": "Aprenda travessia de árvores criando uma árvore binária de busca",
        "intro": [
          "Uma árvore binária de busca (em inglês, binary search tree ou BST) é uma estrutura de dados comum onde os dados são ordenados hierarquicamente.",
          "Neste projeto, você aprenderá como criar sua própria BST e executará uma travessia em ordem. Você também aprenderá operações-chave como inserção, pesquisa e exclusão."
        ]
      },
      "learn-lambda-functions-by-building-an-expense-tracker": {
        "title": "Aprenda funções lambda criando um controle de despesas",
        "intro": [
          "As funções lambda dão a você uma maneira concisa de escrever funções pequenas e descartáveis no seu código.",
          "Neste projeto, você explorará o poder das funções lambda criando um controle de despesas. A aplicação resultante demonstrará como você pode usar funções lambda para operações eficientes e simplificadas."
        ]
      },
      "build-an-arithmetic-formatter-project": {
        "title": "Projeto de criar um formatador aritmético",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação."
        ]
      },
      "build-a-time-calculator-project": {
        "title": "Projeto de criar uma calculadora de tempo",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação."
        ]
      },
      "build-a-budget-app-project": {
        "title": "Projeto de criar uma aplicação de orçamento",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação."
        ]
      },
      "build-a-polygon-area-calculator-project": {
        "title": "Projeto de criar uma calculadora de área de polígonos",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação."
        ]
      },
      "build-a-probability-calculator-project": {
        "title": "Projeto de criar uma calculadora de probabilidades",
        "intro": [
          "Este é um dos projetos necessários para obter a certificação."
        ]
      },
      "learn-interfaces-by-building-an-equation-solver": {
        "title": "Aprenda Interfaces criando um solucionador de equações",
        "intro": [
          "Classes abstratas permitem definir interfaces formais – objetos que agem como diagramas para as classes.",
          "Neste projeto, você descobrirá como implementar uma interface em Python ao criar um programa simples de resolução de equações."
        ]
      },
      "learn-special-methods-by-building-a-vector-space": {
        "title": "Aprenda métodos especiais criando um espaço vetorial",
        "intro": [
          "Os métodos especiais de Python são chamados em resposta a operações específicas e permitem que você personalize o comportamento dos objetos de modo detalhado e eficaz.",
          "Neste projeto, você vai explorar alguns dos métodos especiais mais comuns enquanto aprende sobre vetores criando um espaço vetorial."
        ]
      },
      "learn-encapsulation-by-building-a-projectile-trajectory-calculator": {
        "title": "Aprenda encapsulamento criando uma calculadora de trajetória de projéteis",
        "intro": [
          "Encapsulamento é um princípio fundamental da OOP baseado na escrita de código que limita o acesso direto aos dados.",
          "Neste projeto, você descobrirá novos conceitos relacionados ao encapsulamento, como getters, setters e name mangling. Você usará esses conceitos junto com o que você já aprendeu para criar um programa que calcula uma trajetória de projéteis."
        ]
      },
      "learn-the-bisection-method-by-finding-the-square-root-of-a-number": {
        "title": "Aprenda o método de bissecção encontrando a raiz quadrada de um número",
        "intro": [
          "Os métodos numéricos são usados para aproximar soluções para problemas matemáticos que são difíceis ou impossíveis de resolver analiticamente.",
          "Neste projeto, você explorará o método numérico de bisseção para encontrar a raiz quadrada de um número reduzindo iterativamente a variedade possível de valores que contêm a raiz quadrada."
        ]
      }
    }
  },
  "data-analysis-with-python": {
    "title": "Análise de dados com Python",
    "intro": [
      "A análise de dados já existe há um bom tempo. Porém, até poucos anos atrás, os desenvolvedores praticavam-na apenas usando ferramentas caras e de código fechado, como o Tableau. Recentemente, Python, SQL e outras bibliotecas abertas começaram a mudar a análise de dados para sempre.",
      "Na certificação em análise de dados com Python, você aprenderá os fundamentos da análise de dados com Python. No final desta certificação, você saberá ler dados de fontes como CSVs e SQL, além de usar bibliotecas como Numpy, Pandas, Matplolib e Seaborn para processar e visualizar dados."
    ],
    "note": "",
    "blocks": {
      "data-analysis-with-python-course": {
        "title": "Análise de dados com Python",
        "intro": [
          "Nestes cursos completos em vídeo, criados por Santiago Basulto, você aprenderá todo o processo de análise de dados. Você fará a leitura de dados a partir de múltiplas fontes (CSV, SQL, Excel), processará estes dados usando NumPy e Pandas, e os visualizará usando Matplotlib e Seaborn.",
          "Além disso, incluímos um curso completo sobre o Jupyter Notebook, bem como uma referência rápida para o Python para atualizar suas habilidades em programação."
        ]
      },
      "numpy": {
        "title": "Numpy",
        "intro": [
          "Aprenda os conceitos básicos da biblioteca NumPy nos vídeos do curso a seguir, criado por Keith Galli.",
          "Neste curso, você vai aprender como a NumPy funciona e como ela se compara às listas incorporadas do Python. Você também aprenderá a escrever código com NumPy, indexação, remodelação, estatísticas aplicadas e muito mais."
        ]
      },
      "data-analysis-with-python-projects": {
        "title": "Projetos de análise de dados com Python",
        "intro": [
          "Existem muitas maneiras de analisar dados com o Python. Ao completar esses projetos, você vai demonstrar que tem um bom conhecimento fundamental de análise de dados com Python.",
          "Conclua todos os cursos para solicitar a certificação em Análise de Dados com Python."
        ]
      }
    }
  },
  "learn-python-for-beginners": {
    "title": "Aprenda Python para Iniciantes",
    "summary": [
      "Aprenda os fundamentos da programação em Python do zero praticando conceitos fundamentais e construindo pequenos projetos."
    ],
    "intro": [
      "Python é uma das linguagens de programação mais populares hoje. É fácil de aprender, legível e versátil.",
      "Neste curso abrangente, você aprenderá os fundamentos da programação em Python do zero. Começará com conceitos básicos como variáveis e tipos de dados, avançará por controle de fluxo e funções, e construirá projetos para praticar o que aprendeu."
    ],
    "note": "",
    "blocks": {
      "python-setup-first-steps": {
        "title": "Configuração do Python e Primeiros Passos",
        "intro": [
          "Nesses vídeos, o instrutor popular de programação Mike Dane apresenta você ao Python e mostra como configurar o ambiente local."
        ]
      },
      "core-primitives-in-python": {
        "title": "Primitivas Básicas em Python",
        "intro": [
          "Nesses vídeos, você aprenderá sobre variáveis, tipos de dados, strings, números e como obter entrada do usuário."
        ]
      },
      "small-python-projects": {
        "title": "Pequenos Projetos em Python",
        "intro": [
          "Nesses vídeos, você praticará o que aprendeu até agora construindo uma calculadora básica e um jogo de mad libs."
        ]
      },
      "lists-and-tuples": {
        "title": "Listas e Tuplas",
        "intro": [
          "Nesses vídeos, você aprenderá sobre listas, tuplas e operações comuns."
        ]
      },
      "control-flow-and-functions-in-python": {
        "title": "Fluxo de Controle e Funções",
        "intro": [
          "Nesses vídeos, você aprenderá a controlar o fluxo dos programas com instruções if. Você também aprenderá a escrever código reutilizável com funções."
        ]
      },
      "dictionaries-and-loops": {
        "title": "Dicionários e Laços",
        "intro": [
          "Nesses vídeos, você aprenderá a trabalhar com dicionários e vários laços, incluindo while e for."
        ]
      },
      "error-handling-files-and-modules-in-python": {
        "title": "Tratamento de Erros, Arquivos e Módulos",
        "intro": [
          "Nesses vídeos, você aprenderá a tratar erros de forma elegante, ler e escrever em arquivos e organizar o código com módulos e pacotes externos."
        ]
      },
      "object-oriented-programming-with-python": {
        "title": "Programação Orientada a Objetos com Python",
        "intro": [
          "Nesses vídeos, você aprenderá sobre programação orientada a objetos criando classes e objetos. Você praticará essas habilidades construindo um aplicativo de questionário de múltipla escolha."
        ]
      }
    }
  },
  "introduction-to-algorithms-and-data-structures": {
    "title": "Introdução a Algoritmos e Estruturas de Dados",
    "summary": [
      "Aprenda sobre algoritmos e estruturas de dados comuns neste curso introdutório."
    ],
    "intro": [
      "Algoritmos e Estruturas de Dados são a espinha dorsal da programação. Portanto, é importante aprender a trabalhar com eles.",
      "Neste curso abrangente, você aprenderá sobre algoritmos comuns de ordenação e busca, incluindo merge sort, quicksort e busca binária.",
      "Você também aprenderá a trabalhar com estruturas de dados comuns incluindo arrays e listas ligadas."
    ],
    "note": "",
    "blocks": {
      "searching-algorithms": {
        "title": "Algoritmos de Busca",
        "intro": [
          "Nesses vídeos, você aprenderá o que é um algoritmo e como trabalhar com os algoritmos de busca binária e busca linear."
        ]
      },
      "time-complexity": {
        "title": "Complexidade de Tempo",
        "intro": [
          "Nesses vídeos, você aprenderá sobre complexidade de tempo e como ela funciona ao medir a eficiência de algoritmos."
        ]
      },
      "algorithms-in-code": {
        "title": "Algoritmos em Código",
        "intro": [
          "Nesses vídeos, você escreverá código Python para os algoritmos de busca linear e binária."
        ]
      },
      "recursion-and-space-complexity": {
        "title": "Recursão e Complexidade de Espaço",
        "intro": [
          "Nesses vídeos, você aprenderá sobre recursão e complexidade de espaço para algoritmos."
        ]
      },
      "introduction-to-arrays": {
        "title": "Introdução a Arrays",
        "intro": [
          "Nesses vídeos, você aprenderá como trabalhar com arrays. Você aprenderá sobre diferentes operações incluindo inserir, excluir e buscar."
        ]
      },
      "introduction-to-linked-lists": {
        "title": "Introdução a Listas Ligadas",
        "intro": [
          "Nesses vídeos, você aprenderá sobre listas ligadas. Você aprenderá como adicionar nós a uma lista, assim como remover e buscar em uma lista."
        ]
      },
      "merge-sort-algorithm": {
        "title": "Algoritmo Merge Sort",
        "intro": ["Nesses vídeos, você aprenderá sobre o algoritmo merge sort."]
      },
      "sorting-a-linked-list": {
        "title": "Ordenando uma Lista Ligada",
        "intro": [
          "Nesses vídeos, você aprenderá mais sobre como ordenar listas ligadas."
        ]
      },
      "sorting-algorithms": {
        "title": "Algoritmos de Ordenação",
        "intro": [
          "Nesses vídeos, você aprenderá sobre algoritmos comuns de ordenação incluindo selection sort e quicksort."
        ]
      },
      "searching-names-using-sorting-and-searching-algorithms": {
        "title": "Buscando Nomes usando Algoritmos de Ordenação e Busca",
        "intro": [
          "Nesses vídeos, você praticará buscar nomes usando os algoritmos de busca binária e linear e comparar os tempos de execução entre eles."
        ]
      }
    }
  },
  "learn-rag-mcp-fundamentals": {
    "title": "Aprenda os Fundamentos de RAG e MCP",
    "summary": [
      "Aprenda os fundamentos de RAG e MCP neste curso em vídeo abrangente."
    ],
    "intro": [
      "RAG significa Retrieval-Augmented Generation. MCP significa Model Context Protocol. Estes são frameworks poderosos para construir agentes de IA que podem recuperar informações de uma base de conhecimento, gerar respostas com base nessas informações e planejar suas ações de acordo.",
      "Neste curso, você aprenderá os fundamentos de RAG e MCP e como implementá‑los em seus próprios projetos. Você explorará os componentes de RAG e MCP, incluindo recuperação, geração, memória, contexto e planejamento. Ao final deste curso, você terá uma compreensão sólida de como RAG e MCP funcionam e como usá‑los para construir agentes inteligentes."
    ],
    "note": "",
    "blocks": {
      "understanding-rag": {
        "title": "Compreendendo RAG",
        "intro": [
          "Aprenda os fundamentos de Retrieval-Augmented Generation (RAG), incluindo o que é, quando usar e conceitos centrais."
        ]
      },
      "retrieval-engine-internals": {
        "title": "Detalhes Internos do Mecanismo de Recuperação",
        "intro": [
          "Aprofunde-se em busca semântica, modelos de embeddings, bancos de dados vetoriais e chunking para entender como a recuperação funciona por baixo dos panos."
        ]
      },
      "designing-reliable-rag-systems": {
        "title": "Projetando Sistemas RAG Confiáveis",
        "intro": [
          "Explore arquitetura RAG, monitoramento, tratamento de erros e como implantar sistemas RAG em produção."
        ]
      },
      "mcp-ecosystem-and-tooling": {
        "title": "Ecossistema e Ferramentas MCP",
        "intro": [
          "Aprenda por que o MCP existe, sua arquitetura, JSON-RPC e como construir e usar servidores e clientes MCP de forma eficaz."
        ]
      }
    }
  },
  "introduction-to-precalculus": {
    "title": "Introdução ao Pré-cálculo",
    "summary": [
      "Aprenda os fundamentos do pré-cálculo, incluindo funções e trigonometria."
    ],
    "intro": [
      "Pré-cálculo é um ramo da matemática que prepara para o cálculo. Abrange uma ampla gama de tópicos incluindo funções e trigonometria."
    ],
    "note": "",
    "blocks": {
      "function-basics": {
        "title": "Noções Básicas de Funções",
        "intro": [
          "Nesses vídeos, você aprenderá sobre funções e como trabalhar com elas."
        ]
      },
      "angles-and-circular-motion": {
        "title": "Ângulos e Movimento Circular",
        "intro": [
          "Nesses vídeos, você aprenderá sobre ângulos e movimento circular."
        ]
      },
      "right-triangle-trigonometry": {
        "title": "Trigonometria de Triângulo Retângulo",
        "intro": [
          "Nesses vídeos, você aprenderá sobre trigonometria de triângulos retângulos e como trabalhar com ela."
        ]
      },
      "trig-graphs-inverses": {
        "title": "Gráficos trigonométricos e Funções Inversas",
        "intro": [
          "Nesses vídeos, você aprenderá sobre gráficos trigonométricos e funções inversas."
        ]
      },
      "solving-trig-equations": {
        "title": "Resolvendo Equações Trigonométricas",
        "intro": [
          "Nesses vídeos, você aprenderá como resolver equações trigonométricas."
        ]
      },
      "trig-identities-formulas": {
        "title": "Identidades e Fórmulas Trigonométricas",
        "intro": [
          "Nesses vídeos, você aprenderá sobre identidades e fórmulas trigonométricas."
        ]
      },
      "advanced-trig-conics": {
        "title": "Trigonometria Avançada e Cônicas",
        "intro": [
          "Nesses vídeos, você aprenderá sobre trigonometria avançada e seções cônicas."
        ]
      }
    }
  },
  "introduction-to-bash": {
    "title": "Introdução ao Bash",
    "summary": [
      "Aprenda como usar o terminal e escrever scripts Bash para automatizar tarefas e gerenciar arquivos e processos."
    ],
    "intro": [
      "Bash é um shell Unix e linguagem de comando que fornece uma interface poderosa para interagir com o sistema operacional do computador. Ele permite executar comandos, automatizar tarefas e gerenciar arquivos e processos de forma eficiente.",
      "Neste curso, você aprenderá o básico sobre scripting em Bash, incluindo como navegar pelo sistema de arquivos e manipular arquivos e diretórios."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-the-command-line-and-working-with-bash": {
        "title": "Compreendendo a Linha de Comando e Trabalhando com Bash",
        "intro": [
          "Aprenda sobre a Linha de Comando e Trabalhar com Bash nessas lições."
        ]
      },
      "workshop-bash-boilerplate": {
        "title": "Crie um Boilerplate",
        "intro": [
          "O terminal permite enviar comandos de texto ao 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 um boilerplate de site usando apenas a linha de comando."
        ]
      },
      "review-bash-commands": {
        "title": "Revisão sobre Comandos do Bash",
        "intro": [
          "Revise os conceitos sobre Comandos Bash para se preparar para o próximo questionário."
        ]
      },
      "quiz-bash-commands": {
        "title": "Questionário sobre Comandos do Bash",
        "intro": [
          "Teste o que você aprendeu sobre comandos do Bash com este questionário."
        ]
      }
    }
  },
  "introduction-to-sql-and-postgresql": {
    "title": "Introdução ao SQL e PostgreSQL",
    "summary": [
      "Aprenda como usar SQL e PostgreSQL para criar e gerenciar bancos de dados relacionais."
    ],
    "intro": [
      "SQL (Structured Query Language) é uma linguagem de programação usada para gerenciar e manipular bancos de dados relacionais. Ela permite criar, ler, atualizar e excluir dados em um banco de dados.",
      "PostgreSQL é um sistema de gerenciamento de banco de dados relacional poderoso e de código aberto que usa SQL como sua linguagem de consulta. Ele fornece uma plataforma robusta e escalável para armazenar e gerenciar dados."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-relational-databases": {
        "title": "Trabalhando com Bancos de Dados Relacionais",
        "intro": [
          "Aprenda como trabalhar com Bancos de Dados Relacionais nessas 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 essencial sobre bancos de dados relacionais, criando um banco de dados PostgreSQL com vários personagens de videogame."
        ]
      },
      "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 sobre SQL e PostgreSQL",
        "intro": [
          "Revise conceitos de SQL e PostgreSQL para se preparar para o próximo questionário."
        ]
      },
      "quiz-sql-and-postgresql": {
        "title": "Questionário sobre SQL e PostgreSQL",
        "intro": [
          "Teste o que você aprendeu sobre SQL e PostgreSQL com este questionário."
        ]
      }
    }
  },
  "learn-bash-scripting": {
    "title": "Aprenda Scripts Bash.",
    "summary": [
      "Aprenda como escrever scripts Bash para automatizar tarefas e gerenciar arquivos e processos."
    ],
    "intro": [
      "Scripts Bash combinam comandos de terminal e lógica em programas que podem executar ou automatizar tarefas, e muito mais.",
      "Neste curso, você aprenderá mais comandos do terminal e como usá-los dentro de scripts do Bash criando cinco programas pequenos."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-bash-scripting": {
        "title": "Compreendendo Scripts em Bash",
        "intro": ["Aprenda sobre Scripts em Bash nessas lições."]
      },
      "workshop-bash-five-programs": {
        "title": "Crie Cinco Programas",
        "intro": [
          "Scripts 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 Bash, criando cinco programas pequenos."
        ]
      },
      "review-bash-scripting": {
        "title": "Revisão sobre Scripts 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 Bash",
        "intro": [
          "Teste o que você aprendeu sobre scripts do Bash neste questionário."
        ]
      }
    }
  },
  "learn-sql-and-bash": {
    "title": "Aprenda SQL e Bash",
    "summary": [
      "Aprenda como usar SQL e Bash juntos para gerenciar e manipular bancos de dados relacionais."
    ],
    "intro": [
      "SQL, ou Linguagem de Consulta Estruturada, é a linguagem para comunicar com um banco de dados relacional. Bash é um shell Unix e linguagem de comando que fornece uma interface poderosa para interagir com o sistema operacional do computador.",
      "Neste curso, você criará um script em Bash que utiliza SQL para inserir informações sobre alunos de ciência da computação no PostgreSQL."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-sql": {
        "title": "Trabalhando com SQL",
        "intro": [
          "Nessas lições, 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": [
          "SQL, ou Linguagem de Consulta Estruturada, é a linguagem para 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 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á o banco de dados de alunos enquanto se aprofunda 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 interativo em Bash que armazena informações de aluguel para uma loja de aluguel de bicicletas usando 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 interativo em Bash que usa PostgreSQL para acompanhar os clientes e compromissos de um salão."
        ]
      },
      "review-bash-and-sql": {
        "title": "Revisão de 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."
        ]
      }
    }
  },
  "introduction-to-nano": {
    "title": "Introdução ao Nano",
    "summary": [
      "Aprenda a usar o editor de texto Nano para criar e editar arquivos no terminal."
    ],
    "intro": [
      "Nano é um editor de texto simples e amigável que roda no terminal. Ele permite criar e editar arquivos sem sair da linha de comando.",
      "Neste curso, você aprenderá a usar o Nano para criar e editar arquivos, navegar pelo texto e executar operações básicas de edição."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-nano": {
        "title": "Trabalhando com o Nano",
        "intro": ["Aprenda sobre o Nano nesta lição."]
      },
      "workshop-castle": {
        "title": "Crie um Castelo",
        "intro": [
          "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 enquanto cria um castelo."
        ]
      }
    }
  },
  "introduction-to-git-and-github": {
    "title": "Introdução ao Git e GitHub",
    "summary": [
      "Aprenda a trabalhar com Git e GitHub para gerenciar e colaborar em projetos de software."
    ],
    "intro": [
      "Git é um sistema de controle de versão que permite aos desenvolvedores rastrear mudanças no código e colaborar com outros. GitHub é uma plataforma web que hospeda repositórios Git, facilitando o compartilhamento e a colaboração em projetos.",
      "Neste curso, você aprenderá o básico sobre Git e GitHub, incluindo como criar repositórios, fazer commits e colaborar com outros em projetos de software."
    ],
    "note": "",
    "blocks": {
      "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ções, implantação e CI/CD nessas lições."
        ]
      },
      "workshop-sql-reference-object": {
        "title": "Crie um Objeto de Referência SQL",
        "intro": [
          "Git é um sistema de controle de versão que registra todas as mudanças feitas na base de código.",
          "Neste workshop de 240 aulas, você aprenderá como o Git mantém o controle do código criando um objeto que contém comandos SQL comumente usados."
        ]
      },
      "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."
        ]
      }
    }
  },
  "learn-oop-with-python": {
    "title": "Aprenda POO com Python",
    "summary": [
      "Neste curso em vídeo, você aprenderá sobre programação orientada a objetos usando Python."
    ],
    "intro": [
      "Programação Orientada a Objetos (POO) é um paradigma de programação baseado no conceito de objetos, que podem conter dados e código para manipular esses dados. Este curso introduz os princípios chave da POO, incluindo classes, objetos, herança, e mostra como aplicá‑los na prática."
    ],
    "note": "",
    "blocks": {
      "oop-basics": {
        "title": "Noções Básicas de POO",
        "intro": [
          "Nesses vídeos, aprenda os básicos de POO incluindo como criar classes e trabalhar com construtores."
        ]
      },
      "methods-and-inheritance": {
        "title": "Métodos e Herança",
        "intro": ["Nesses vídeos, aprenda sobre métodos e herança em POO."]
      },
      "advanced-oop-concepts": {
        "title": "Conceitos Avançados de POO",
        "intro": [
          "Nesses vídeos, aprenda sobre conceitos avançados de POO incluindo getters, setters e outros princípios importantes da POO."
        ]
      }
    }
  },
  "introduction-to-python-basics": {
    "title": "Introdução ao Básico de Python",
    "summary": ["Este curso ensina os fundamentos da programação em Python."],
    "intro": [
      "Neste curso interativo, você aprenderá a sintaxe básica, tipos de dados e estruturas de controle do Python."
    ],
    "note": "",
    "blocks": {
      "lecture-introduction-to-python": {
        "title": "Introdução ao Python",
        "intro": [
          "Nestas aulas, você aprenderá o que é Python e como configurar o ambiente de Desenvolvimento."
        ]
      },
      "lecture-understanding-variables-and-data-types": {
        "title": "Entendendo variáveis e tipos de dados",
        "intro": [
          "Nestas aulas, você aprenderá sobre variáveis e tipos de dados em Python."
        ]
      },
      "workshop-report-card-printer": {
        "title": "Crie uma Impressora de Boletim de Notas",
        "intro": [
          "Neste workshop, você criará uma impressora de boletim de notas para trabalhar com tipos de dados primitivos em Python."
        ]
      },
      "lecture-introduction-to-python-strings": {
        "title": "Introdução a strings",
        "intro": ["Nestas aulas, você aprenderá sobre strings em Python."]
      },
      "workshop-employee-profile-generator": {
        "title": "Crie um Gerador de Perfil de Funcionário",
        "intro": [
          "Neste workshop, você praticará os fundamentos da manipulação de strings em Python criando uma ferramenta que gera crachás de funcionários formatados e analisa códigos de funcionários."
        ]
      },
      "lecture-numbers-and-mathematical-operations": {
        "title": "Números e operações matemáticas",
        "intro": [
          "Nestas aulas, você aprenderá sobre números e operações matemáticas em Python."
        ]
      },
      "workshop-bill-splitter": {
        "title": "Crie um Divisor de Conta",
        "intro": [
          "Neste workshop, você criará um divisor de conta para praticar trabalhar com números e operações matemáticas em Python."
        ]
      },
      "lecture-booleans-and-conditionals": {
        "title": "Booleanos e condicionais",
        "intro": [
          "Nestas aulas, você aprenderá sobre booleanos e condicionais em Python."
        ]
      },
      "workshop-movie-ticket-booking-calculator": {
        "title": "Crie uma Calculadora de Reserva de Ingressos de Cinema",
        "intro": [
          "Neste workshop, você praticará o uso de booleanos e instruções condicionais em Python criando uma calculadora de reserva de ingressos de cinema."
        ]
      },
      "lab-travel-weather-planner": {
        "title": "Crie um Planejador de Clima para Viagens",
        "intro": [
          "Neste laboratório, você criará um planejador de clima para viagens usando condicionais."
        ]
      },
      "lecture-understanding-functions-and-scope": {
        "title": "Entendendo funções e escopo",
        "intro": [
          "Nestas aulas, você aprenderá sobre funções e escopo em Python."
        ]
      },
      "lab-discount-calculator": {
        "title": "Crie uma função para aplicar desconto",
        "intro": [
          "Neste laboratório, você praticará Python básico criando uma calculadora para aplicar um desconto a um preço."
        ]
      },
      "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."
        ]
      }
    }
  },
  "learn-python-loops-and-sequences": {
    "title": "Aprenda Laços e Sequências em Python",
    "summary": ["Aprenda como trabalhar com laços e sequências em Python."],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com laços e sequências em Python."
    ],
    "note": "",
    "blocks": {
      "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 secretos ocultos 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."
        ]
      }
    }
  },
  "learn-python-dictionaries-and-sets": {
    "title": "Aprenda Dicionários e Conjuntos em Python",
    "summary": [
      "Aprenda como trabalhar com dicionários e conjuntos em Python."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com dicionários e conjuntos em Python."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-dictionaries-and-sets": {
        "title": "Trabalhando com Dicionários e Conjuntos",
        "intro": [
          "Aprenda sobre trabalhar com dicionários e conjuntos nessas lições."
        ]
      },
      "lecture-working-with-modules": {
        "title": "Trabalhando com Módulos",
        "intro": ["Aprenda sobre trabalhar com módulos nessas 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."
        ]
      }
    }
  },
  "learn-error-handling-in-python": {
    "title": "Aprenda Tratamento de Erros em Python",
    "summary": ["Aprenda a tratar erros e exceções em Python."],
    "intro": [
      "Neste curso interativo, você aprenderá como tratar erros e exceções em Python."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-error-handling": {
        "title": "Compreendendo o Tratamento de Erros",
        "intro": [
          "Nestas lições, 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 erros, 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."
        ]
      }
    }
  },
  "learn-python-classes-and-objects": {
    "title": "Aprenda Classes e Objetos em Python",
    "summary": ["Aprenda como trabalhar com classes e objetos em Python."],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com classes e objetos em Python."
    ],
    "note": "",
    "blocks": {
      "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 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."
        ]
      }
    }
  },
  "introduction-to-oop-in-python": {
    "title": "Introdução à POO em Python",
    "summary": [
      "Aprenda o básico da Programação Orientada a Objetos (POO) em Python."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá o básico de Programação Orientada a Objetos (POO) em Python."
    ],
    "note": "",
    "blocks": {
      "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 Monitor de Salários",
        "intro": [
          "Neste workshop, você praticará encapsulação, propriedades e outros conceitos de POO, criando um sistema de rastreamento de salários para empregados."
        ]
      },
      "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 nessas 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."
        ]
      },
      "lecture-understanding-abstraction": {
        "title": "Compreendendo a Abstração",
        "intro": ["Aprenda sobre a Compreensão da Abstração nessas 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 intercambiavelmente sem modificar a lógica principal."
        ]
      },
      "lab-player-interface": {
        "title": "Criar uma interface de jogador",
        "intro": [
          "Neste laboratório, você usará o módulo <code>abc</code> para criar uma interface do jogador."
        ]
      },
      "lab-polygon-area-calculator": {
        "title": "Crie uma Calculadora de Área de Polígonos",
        "intro": [
          "Neste laboratório, você usará a programação orientada a objetos para calcular as áreas de diferentes polígonos, como quadrados e retângulos."
        ]
      },
      "review-object-oriented-programming": {
        "title": "Revisão sobre 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 sobre Programação Orientada a Objetos",
        "intro": [
          "Teste o que você aprendeu sobre programação orientada a objetos em Python com este questionário."
        ]
      }
    }
  },
  "introduction-to-linear-data-structures-in-python": {
    "title": "Introdução a Estruturas de Dados Lineares em Python",
    "summary": ["Aprenda o básico de estruturas de dados lineares em Python."],
    "intro": [
      "Neste curso interativo, você aprenderá o básico de estruturas de dados lineares em Python."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-common-data-structures": {
        "title": "Trabalhando com Estruturas de Dados Comuns",
        "intro": [
          "Aprenda sobre Trabalhar com Estruturas de Dados Comuns nessas lições."
        ]
      },
      "workshop-linked-list-class": {
        "title": "Construa uma Lista Ligada",
        "intro": [
          "Neste workshop, você praticará trabalhando com estruturas de dados criando 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 e valor e é otimizada para pesquisas rápidas.",
          "Neste laboratório, você usará conhecimentos sobre estruturas de dados para criar 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, análise de complexidade de tempo e espaço, e notação big O."
        ]
      },
      "quiz-data-structures": {
        "title": "Questionário sobre Estruturas de Dados",
        "intro": [
          "Teste o que você aprendeu sobre estruturas de dados em Python com este questionário."
        ]
      }
    }
  },
  "learn-algorithms-in-python": {
    "title": "Aprenda Algoritmos em Python",
    "summary": ["Aprenda o básico de algoritmos em Python."],
    "intro": [
      "Neste curso interativo, você aprenderá o básico de algoritmos em Python."
    ],
    "note": "",
    "blocks": {
      "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 fusão.",
          "Estas lições abrangem implementações de algoritmos, análise de complexidade de tempo e espaço e o paradigma de programação de dividir e conquistar."
        ]
      },
      "workshop-binary-search": {
        "title": "Implemente o Algoritmo de Busca Binária",
        "intro": [
          "O algoritmo de busca binária é um algoritmo de busca 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 Fusão",
        "intro": [
          "O algoritmo de ordenação por fusão é um algoritmo de ordenação baseado no princípio de dividir e conquistar.",
          "Neste workshop, você implementará o algoritmo de ordenação por fusão para ordenar uma lista de números aleatórios."
        ]
      },
      "lab-quicksort": {
        "title": "Implemente o Algoritmo Quicksort",
        "intro": [
          "Neste laboratório, você implementará o algoritmo quicksort para ordenar uma lista de inteiros."
        ]
      },
      "lab-selection-sort": {
        "title": "Implementar 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": "Implementar 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 sobre Algoritmos de Busca e Ordenação",
        "intro": [
          "Antes de fazer um questionário sobre algoritmos de busca e ordenação, você deve revisar o que aprendeu sobre o assunto."
        ]
      },
      "quiz-searching-and-sorting-algorithms": {
        "title": "Questionário sobre 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."
        ]
      }
    }
  },
  "learn-graphs-and-trees-in-python": {
    "title": "Aprenda Grafos e Árvores em Python",
    "summary": ["Aprenda o básico de grafos e árvores em Python."],
    "intro": [
      "Neste curso interativo, você aprenderá o básico de grafos e árvores em Python."
    ],
    "note": "",
    "blocks": {
      "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á um algoritmo para encontrar o caminho mais curto entre dois nós em um grafo."
        ]
      },
      "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 em lista de adjacência de um grafo para uma representação em 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 das N Rainhas",
        "intro": [
          "Neste laboratório, você implementará uma solução para o Problema das N Rainhas."
        ]
      },
      "review-graphs-and-trees": {
        "title": "Revisão de Grafos e Árvores",
        "intro": [
          "Antes de ser avaliado sobre grafos 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."
        ]
      }
    }
  },
  "learn-dynamic-programming-in-python": {
    "title": "Aprenda Programação Dinâmica em Python",
    "summary": ["Aprenda o básico de programação dinâmica em Python."],
    "intro": [
      "Neste curso interativo, você aprenderá o básico de programação dinâmica em Python."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-dynamic-programming": {
        "title": "Compreendendo 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 de Fibonacci usando uma abordagem de programação dinâmica."
        ]
      },
      "review-dynamic-programming": {
        "title": "Revisão de Programação Dinâmica",
        "intro": [
          "Antes de fazer um questionário sobre programação dinâmica, você deve revisar o que aprendeu sobre o assunto."
        ]
      },
      "quiz-dynamic-programming": {
        "title": "Questionário sobre Programação Dinâmica",
        "intro": [
          "Teste o que você aprendeu sobre programação dinâmica em Python com este questionário."
        ]
      }
    }
  },
  "introduction-to-variables-and-strings-in-javascript": {
    "title": "Introdução a Variáveis e Strings em JavaScript",
    "summary": ["Aprenda o básico de variáveis e strings em JavaScript."],
    "intro": [
      "Neste curso interativo, você aprenderá sobre variáveis e strings, que são conceitos fundamentais na programação JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-introduction-to-javascript": {
        "title": "Introdução ao JavaScript",
        "intro": [
          "Nestas aulas, 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 HTML e CSS, strings, e muito mais."
        ]
      },
      "lecture-introduction-to-strings": {
        "title": "Introdução a Strings",
        "intro": [
          "Nestas aulas, você aprenderá como trabalhar com strings e concatenação de strings."
        ]
      },
      "lecture-understanding-code-clarity": {
        "title": "Compreendendo Clareza de Código",
        "intro": [
          "Nessas 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 variáveis, <code>let</code>, <code>const</code>, <code>console.log</code> e 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 próximas aulas, você aprenderá a trabalhar com tipos de dados em JavaScript. Você também aprenderá como a tipagem dinâmica difere da estática, o operador <code>typeof</code>, e o bug <code>typeof null</code>."
        ]
      },
      "review-javascript-variables-and-data-types": {
        "title": "Revisão sobre Variáveis e Tipos de Dados em JavaScript",
        "intro": [
          "Antes de responder perguntas sobre variáveis e tipos de dados em JavaScript, você deve 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 o 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 aulas, você aprenderá a trabalhar com strings no 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á aprendendo mais sobre strings em JavaScript criando um chatbot.",
          "Você aprenderá como trabalhar com literais de modelo e com o método <code>indexOf</code>."
        ]
      },
      "lecture-working-with-string-character-methods": {
        "title": "Trabalhando com Métodos de Caracteres de String",
        "intro": [
          "Nesta aula, você aprenderá sobre a codificação de caracteres ASCII e como usar os métodos <code>charCodeAt()</code> e <code>fromCharCode()</code> 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 Strings",
        "intro": [
          "Nesta aula você aprenderá a procurar substrings usando o método <code>includes()</code> e como extrair partes de strings usando o método <code>slice()</code>."
        ]
      },
      "workshop-string-inspector": {
        "title": "Criar um inspetor de strings",
        "intro": [
          "Neste workshop, você praticará o trabalho com os métodos <code>includes()</code> e <code>slice()</code> criando um inspetor de strings."
        ]
      },
      "lecture-working-with-string-formatting-methods": {
        "title": "Trabalhando com Métodos de Formatação de Strings",
        "intro": [
          "Nesta aula você aprenderá como formatar strings mudando seu caso usando <code>toUpperCase()</code> e <code>toLowerCase()</code>, e como remover espaços em branco usando os métodos <code>trim()</code>, <code>trimStart()</code> e <code>trimEnd()</code>."
        ]
      },
      "workshop-string-formatter": {
        "title": "Criar um formatador de strings",
        "intro": [
          "Neste workshop, você praticará trabalhar com vários métodos de strings, incluindo <code>trim()</code>, <code>toUpperCase()</code> e <code>toLowerCase()</code>."
        ]
      },
      "lecture-working-with-string-modification-methods": {
        "title": "Trabalhando com Métodos de Modificação de Strings",
        "intro": [
          "Nesta aula você aprenderá a modificar strings substituindo partes delas com o método <code>replace()</code> e como repetir strings várias vezes usando o método <code>repeat()</code>."
        ]
      },
      "workshop-string-transformer": {
        "title": "Crie um Transformer de String",
        "intro": [
          "Neste workshop, você praticará trabalhar com os métodos <code>replace()</code>, <code>replaceAll()</code> e <code>repeat()</code>."
        ]
      },
      "review-javascript-strings": {
        "title": "Revisão sobre Strings em JavaScript",
        "intro": [
          "Antes de ser questionado sobre o trabalho com strings no JavaScript, você precisa revisar.",
          "Abra esta página para revisar como trabalhar com literais de modelo, o método <code>slice</code>, o método <code>includes</code>, o método <code>trim</code> e mais."
        ]
      },
      "quiz-javascript-strings": {
        "title": "Questionário sobre Strings em JavaScript",
        "intro": [
          "Teste o conhecimento sobre strings em JavaScript com este questionário."
        ]
      }
    }
  },
  "introduction-to-booleans-and-numbers-in-javascript": {
    "title": "Introdução a Booleanos e Números no JavaScript",
    "summary": ["Aprenda o básico de booleanos e números em JavaScript."],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com booleanos e números em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-numbers-and-arithmetic-operators": {
        "title": "Trabalhando com Números e Operadores Aritméticos",
        "intro": [
          "Nestas aulas você aprenderá sobre o tipo 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 erros de coerção de tipo.",
          "A tarefa consiste em 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 aulas você aprenderá sobre a precedência de operadores, 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.",
          "A tarefa é identificar e corrigir os erros para que a aplicação funcione como esperado."
        ]
      },
      "lecture-working-with-comparison-and-boolean-operators": {
        "title": "Trabalhando com Operadores de Comparação e Booleanos",
        "intro": [
          "Nestas aulas você aprenderá sobre booleanos, e operadores de igualdade e desigualdade, além de outros operadores de comparação."
        ]
      },
      "workshop-logic-checker-app": {
        "title": "Crie um Aplicativo de Verificação de Lógica",
        "intro": [
          "Neste workshop, você vai praticar a criação de uma aplicação de verificação de lógica com instruções condicionais e operadores de comparação."
        ]
      },
      "lecture-working-with-unary-and-bitwise-operators": {
        "title": "Trabalhando com Operadores Unários e Bitwise",
        "intro": [
          "Nestas aulas, você aprenderá sobre operadores unários e operadores bitwise."
        ]
      },
      "lecture-working-with-conditional-logic-and-math-methods": {
        "title": "Trabalhando com Lógica Condicional e Métodos Matemáticos",
        "intro": [
          "Nestas aulas, você aprenderá sobre instruções condicionais, operadores lógicos binários, e o objeto <code>Math</code>."
        ]
      },
      "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ê construirá um adivinhador do futuro selecionando aleatoriamente uma sorte dentre as disponíveis.",
          "Você praticará como trabalhar com o método <code>Math.random()</code> e o método <code>Math.floor()</code> 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 aulas, você aprenderá sobre números e métodos comuns de números. Estes incluem <code>isNaN()</code>, <code>parseInt()</code>, <code>parseFloat()</code> e <code>toFixed()</code>."
        ]
      },
      "review-javascript-math": {
        "title": "Revisão sobre Math em JavaScript",
        "intro": [
          "Antes de ser questionado sobre o uso do objeto <code>Math</code>, você deve revisar o que aprendeu.",
          "Abra esta página para revisar como trabalhar com o método <code>Math.random()</code>, o método <code>Math.floor()</code> e mais."
        ]
      },
      "quiz-javascript-math": {
        "title": "Questionário sobre Math em JavaScript",
        "intro": [
          "Teste seu conhecimento sobre o objeto <code>Math</code> do JavaScript com este questionário."
        ]
      },
      "lecture-understanding-comparisons-and-conditionals": {
        "title": "Compreendendo Comparações e Condicionais",
        "intro": [
          "Nestas aulas, você aprenderá sobre operadores de comparação e condicionais. Você aprenderá como diversos condicionais diferem entre si e como comparações funcionam com <code>null</code> e <code>undefined</code>."
        ]
      },
      "review-javascript-comparisons-and-conditionals": {
        "title": "Revisão sobre Comparações e Condicionais em JavaScript",
        "intro": [
          "Antes de ser testado sobre o trabalho com condicionais, você deve revisar o que aprendeu sobre eles.",
          "Abra esta página para revisar como trabalhar com instruções <code>switch</code>, outros tipos de condicionais e mais."
        ]
      },
      "quiz-javascript-comparisons-and-conditionals": {
        "title": "Questionário sobre Comparações e Condicionais em JavaScript",
        "intro": [
          "Teste seu conhecimento sobre condicionais e comparações em JavaScript com este questionário."
        ]
      }
    }
  },
  "introduction-functions-in-javascript": {
    "title": "Introdução a Funções em JavaScript",
    "summary": ["Aprenda o básico sobre funções em JavaScript."],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com funções em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-functions": {
        "title": "Trabalhando com Funções",
        "intro": [
          "Nestas aulas, você aprenderá a 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.",
          "Você praticará cortar 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 <code>if</code> e como usar operadores de comparação e várias condições em uma instrução <code>if</code>."
        ]
      },
      "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 Truncamento de String",
        "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."
        ]
      }
    }
  },
  "introduction-to-arrays-in-javascript": {
    "title": "Introdução a Arrays em JavaScript",
    "summary": ["Aprenda o básico sobre arrays em JavaScript."],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com arrays em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-arrays": {
        "title": "Trabalhando com Arrays",
        "intro": [
          "Nestas aulas, você aprenderá como trabalhar com arrays JavaScript. Você 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ê revisará como adicionar e remover elementos de um array usando métodos como <code>push</code>, <code>pop</code>, <code>shift</code> e <code>unshift</code>."
        ]
      },
      "lab-lunch-picker-program": {
        "title": "Crie um Programa de Seleção de Almoço",
        "intro": [
          "Neste laboratório, você revisará o trabalho com arrays e números aleatórios criando um programa de seleção de almoço."
        ]
      },
      "lab-golf-score-translator": {
        "title": "Crie um Tradutor de Pontuação de Golfe",
        "intro": [
          "Para este laboratório, você usará métodos de array para traduzir pontuações de golfe para seus apelidos."
        ]
      },
      "lecture-working-with-common-array-methods": {
        "title": "Trabalhando com Métodos Comuns de Array",
        "intro": [
          "Nestas aulas, você 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 desestruturaçã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."
        ]
      }
    }
  },
  "introduction-to-objects-in-javascript": {
    "title": "Introdução a Objetos em JavaScript",
    "summary": ["Aprenda o básico sobre objetos em JavaScript."],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com objetos em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-introduction-to-javascript-objects-and-their-properties": {
        "title": "Introdução a Objetos JavaScript e Suas Propriedades",
        "intro": [
          "Nestas aulas, 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-json": {
        "title": "Trabalhando com JSON",
        "intro": [
          "Nestas aulas, você aprenderá sobre JavaScript Object Notation (JSON), incluindo como acessar dados JSON e usar os métodos <code>JSON.parse()</code> e <code>JSON.stringify()</code>."
        ]
      },
      "lecture-working-with-optional-chaining-and-object-destructuring": {
        "title": "Trabalhando com Encadeamento Opcional e Desestruturação de Objetos",
        "intro": [
          "Nestas aulas, 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."
        ]
      },
      "workshop-recipe-tracker": {
        "title": "Crie um Rastreador de Receitas",
        "intro": [
          "Neste workshop, você revisará o trabalho com objetos JavaScript criando um rastreador 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á usar funções para selecionar aleatoriamente uma pergunta e uma resposta de um array e compará-las."
        ]
      },
      "lab-record-collection": {
        "title": "Crie 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 fazer o questionário sobre objetos em JavaScript, você deve revisar o que aprendeu sobre eles.",
          "Abra esta página para revisar conceitos 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."
        ]
      }
    }
  },
  "introduction-to-loops-in-javascript": {
    "title": "Introdução a Laços em JavaScript",
    "summary": ["Aprenda o básico sobre laços em JavaScript."],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com laços em JavaScript."
    ],
    "note": "",
    "blocks": {
      "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, 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 desenvolvendo um aplicativo 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á iterar sobre duas strings diferentes para comparar seus caracteres."
        ]
      },
      "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 busca informações de perfil."
        ]
      },
      "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 número específico de vezes."
        ]
      },
      "lab-missing-letter-detector": {
        "title": "Crie um Detector de Letras Faltantes",
        "intro": [
          "Neste laboratório, você construirá 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 questionado sobre os diferentes tipos de laços no JavaScript, você deve revisá-los.",
          "Abra esta página para revisar o laço <code>for...of</code>, o laço <code>while</code>, instruções <code>break</code> e <code>continue</code>, 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."
        ]
      }
    }
  },
  "javascript-fundamentals-review": {
    "title": "Revisão dos Fundamentos do JavaScript",
    "summary": ["Revise os conceitos centrais do JavaScript."],
    "intro": [
      "Neste curso interativo, você praticará os fundamentos centrais do JavaScript incluindo laços, objetos, arrays e mais."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-types-and-objects": {
        "title": "Trabalhando com Tipos e Objetos",
        "intro": [
          "Nestas aulas você aprenderá sobre objetos string, o método <code>toString()</code>, o Construtor <code>Number</code> e mais."
        ]
      },
      "lecture-working-with-arrays-variables-and-naming-practices": {
        "title": "Trabalhando com Arrays, Variáveis e Práticas de Nomeação",
        "intro": [
          "Nestas aulas 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": [
          "Nestas aulas você aprenderá o que são linters e formatadores, o que é gerenciamento de memória, e closures."
        ]
      },
      "lab-reverse-a-string": {
        "title": "Crie um Inversor de Strings",
        "intro": [
          "Neste laboratório, você criará uma função que inverte uma string fornecida."
        ]
      },
      "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 encontre o maior número em cada sub-array de um array fornecido."
        ]
      },
      "lab-first-element-finder": {
        "title": "Crie um Encontrador do Primeiro Elemento",
        "intro": [
          "Neste laboratório, você criará uma função que percorre um array e retorna o primeiro elemento que passa por um \"teste de veracidade\"."
        ]
      },
      "lab-slice-and-splice": {
        "title": "Implemente o Algoritmo de Fatia e Emenda",
        "intro": [
          "Neste laboratório, você praticará fundir 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 um Aplicativo de Quadro de Notas",
        "intro": [
          "Para este laboratório, você criará um aplicativo de quadro de notas.",
          "Você praticará condicionais para determinar a nota do aluno com base na pontuação."
        ]
      },
      "lecture-the-var-keyword-and-hoisting": {
        "title": "A Palavra-Chave var e Hoisting",
        "intro": [
          "Nestas aulas, você aprenderá sobre a palavra-chave <code>var</code> e por que não é recomendada para uso. Você também aprenderá sobre hoisting em JavaScript para evitar bugs sutis no código."
        ]
      },
      "lab-title-case-converter": {
        "title": "Crie um Conversor de Capitalização de Título",
        "intro": [
          "Neste laboratório, você construirá 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 array."
        ]
      },
      "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 em JavaScript para gerir o inventário."
        ]
      },
      "lecture-understanding-modules-imports-and-exports": {
        "title": "Compreendendo Módulos, Importações e Exportações",
        "intro": [
          "Nesta aula, 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 arguments e Parâmetros Rest",
        "intro": [
          "Nestas lições, você aprenderá como trabalhar com o objeto <code>arguments</code> 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á um aplicativo gerador de senhas baseado 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 que soma todos os números. Este algoritmo pega um array de dois números e retorna a soma desses 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 entidades HTML correspondentes."
        ]
      },
      "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 recebe 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."
        ]
      },
      "review-javascript-fundamentals": {
        "title": "Revisão dos Fundamentos do JavaScript",
        "intro": [
          "Antes de ser questionado sobre os fundamentos do JavaScript, você 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 os Fundamentos do JavaScript",
        "intro": [
          "Teste seu conhecimento sobre os fundamentos do JavaScript com este questionário."
        ]
      }
    }
  },
  "introduction-to-higher-order-functions-and-callbacks-in-javascript": {
    "title": "Introdução a Funções de Ordem Superior e Callbacks em JavaScript",
    "summary": [
      "Aprenda o básico sobre funções de ordem superior e callbacks em JavaScript."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com funções de ordem superior e callbacks em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-higher-order-functions-and-callbacks": {
        "title": "Trabalhando com Funções de Ordem Superior e Callbacks",
        "intro": [
          "Nestas aulas, você aprenderá a trabalhar com funções de ordem superior e callbacks. As funções de ordem superior que você aprenderá incluem <code>map()</code>, <code>filter()</code>, <code>reduce()</code>, <code>sort()</code>, <code>every()</code> e <code>some()</code>. Você também aprenderá como encadear esses métodos para alcançar os 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 usando 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 array ordenado para manter a ordem do array."
        ]
      },
      "lab-symmetric-difference": {
        "title": "Crie uma Função de Diferença Simétrica",
        "intro": [
          "Neste laboratório, você praticará usar funções de ordem superior para encontrar a diferença simétrica entre dois arrays."
        ]
      },
      "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 recebe um número e retorna 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 MCM 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 usar 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 truthy 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 questionado 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 <code>map()</code>, <code>filter()</code> e <code>reduce()</code>."
        ]
      },
      "quiz-javascript-higher-order-functions": {
        "title": "Questionário sobre Funções de Ordem Superior em JavaScript",
        "intro": [
          "Teste o que você aprendeu sobre funções de ordem superior em JavaScript com este questionário."
        ]
      }
    }
  },
  "learn-dom-manipulation-and-events-with-javascript": {
    "title": "Aprenda Manipulação do DOM e Eventos com JavaScript",
    "summary": [
      "Aprenda como manipular o DOM e trabalhar com eventos em JavaScript."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá como manipular o DOM e trabalhar com eventos em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-the-dom-click-events-and-web-apis": {
        "title": "Trabalhando com o DOM, Eventos de Clique e APIs Web",
        "intro": [
          "Nestas aulas, você aprenderá como trabalhar com o Modelo de Objeto de Documento (DOM), o método <code>addEventListener()</code> 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 <code>querySelector</code> e <code>querySelectorAll</code>."
        ]
      },
      "lab-favorite-icon-toggler": {
        "title": "Crie um Alternador de Ícone Favorito",
        "intro": [
          "Neste laboratório, você criará um alternador de ícone favorito 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": [
          "Nestas aulas, 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": "Crie 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 <code>input</code> 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, tratamento de eventos e filtragem de dados para construir um conjunto de cartões de equipe de futebol."
        ]
      },
      "review-dom-manipulation-and-click-events-with-javascript": {
        "title": "Revisão sobre Manipulação do DOM e Eventos de Clique com 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 <code>DOM</code>, <code>APIs da Web</code>, o método <code>addEventListener()</code>, 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 com JavaScript",
        "intro": [
          "Teste seu conhecimento sobre manipulação do DOM e eventos de clique no JavaScript com este questionário."
        ]
      }
    }
  },
  "introduction-to-javascript-and-accessibility": {
    "title": "Introdução a JavaScript e Acessibilidade",
    "summary": [
      "Aprenda como usar JavaScript para melhorar a acessibilidade web."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá como usar JavaScript para melhorar a acessibilidade web."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": {
        "title": "Compreendendo aria-expanded, aria-live e Estados Comuns do ARIA",
        "intro": [
          "Nestas aulas você aprenderá mais sobre atributos ARIA como <code>aria-expanded</code>, <code>aria-live</code> 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 exibirá 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 anotações acessível.",
          "Isso proporcionará a oportunidade de praticar o uso do atributo <code>aria-live</code>."
        ]
      },
      "lab-theme-switcher": {
        "title": "Crie um Alternador de Temas",
        "intro": [
          "Neste laboratório, você criará um alternador de temas e praticará com os atributos <code>aria-haspopup</code>, <code>aria-expanded</code> e <code>aria-controls</code>."
        ]
      },
      "review-js-a11y": {
        "title": "Revisão de JavaScript e Acessibilidade",
        "intro": [
          "Antes de ser testado sobre JavaScript e acessibilidade, você deve revisar o que aprendeu sobre isso.",
          "Abra esta página para revisar conceitos incluindo como trabalhar com os atributos <code>aria-expanded</code>, <code>aria-live</code> e <code>aria-controls</code>."
        ]
      },
      "quiz-js-a11y": {
        "title": "Questionário de JavaScript e Acessibilidade",
        "intro": [
          "Teste seu conhecimento das melhores práticas de JavaScript e acessibilidade com este questionário."
        ]
      }
    }
  },
  "learn-javascript-debugging": {
    "title": "Aprenda Depuração de JavaScript",
    "summary": ["Aprenda como depurar código JavaScript de forma eficaz."],
    "intro": [
      "Neste curso interativo, você aprenderá como depurar código JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-debugging-techniques": {
        "title": "Técnicas de Depuração",
        "intro": [
          "Nestas aulas, você aprenderá sobre os erros comuns em JavaScript e as técnicas que pode usar para corrigi-los – um processo chamado depuração."
        ]
      },
      "lab-random-background-color-changer": {
        "title": "Depure um 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 <code>instrução throw</code>, <code>try...catch...finally</code> 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."
        ]
      }
    }
  },
  "learn-basic-regex-with-javascript": {
    "title": "Aprenda Regex Básico com JavaScript",
    "summary": ["Aprenda o básico sobre expressões regulares em JavaScript."],
    "intro": [
      "Neste curso interativo, você aprenderá os fundamentos das expressões regulares e como usá-las em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-regular-expressions": {
        "title": "Trabalhando com Expressões Regulares",
        "intro": [
          "Nestas aulas, você aprenderá sobre expressões regulares em JavaScript. Você aprenderá sobre métodos para trabalhar com expressões regulares, modificadores, classes de caracteres, lookaheads, lookbehinds, retro-referê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 corresponder, buscar e substituir texto. 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, lookaheads positivos, lookaheads negativos e outras técnicas para encontrar qualquer texto desejado."
        ]
      },
      "lab-palindrome-checker": {
        "title": "Crie um Verificador de Palíndromo",
        "intro": [
          "Para este laboratório, você criará uma aplicação que verifica se uma palavra fornecida é um palíndromo."
        ]
      },
      "lab-regex-sandbox": {
        "title": "Crie um Sandbox de Regex",
        "intro": [
          "Neste laboratório você criará um sandbox de expressões regulares."
        ]
      },
      "lab-spinal-case-converter": {
        "title": "Implemente um Conversor para Spinal Case",
        "intro": [
          "Neste laboratório, você criará uma função que converte uma string dada para spinal case, que é um estilo onde todas as letras são minúsculas e separadas por hífens."
        ]
      },
      "lab-pig-latin": {
        "title": "Implemente um Tradutor de Pig Latin",
        "intro": [
          "Neste laboratório, você implementará um tradutor de Pig Latin 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."
        ]
      },
      "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."
        ]
      },
      "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."
        ]
      }
    }
  },
  "introduction-to-dates-in-javascript": {
    "title": "Introdução a Datas em JavaScript",
    "summary": ["Aprenda como trabalhar com datas em JavaScript."],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com datas em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-dates": {
        "title": "Trabalhando com Datas",
        "intro": [
          "Nestas aulas, 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 uma 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 <code>Date()</code> 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."
        ]
      }
    }
  },
  "learn-audio-and-video-events-with-javascript": {
    "title": "Aprenda Eventos de Áudio e Vídeo com JavaScript",
    "summary": [
      "Aprenda como trabalhar com eventos de áudio e vídeo em JavaScript."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá como trabalhar com eventos de áudio e vídeo em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-audio-and-video": {
        "title": "Trabalhando com Áudio e Vídeo",
        "intro": [
          "Nestas aulas, você aprenderá como trabalhar com arquivos de áudio e vídeo usando JavaScript. Você aprenderá sobre os construtores <code>Audio</code> e <code>Video</code>, seus métodos e propriedades, formatos de áudio e vídeo, codecs, a API <code>HTMLMediaElement</code> 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 <code>audio</code> 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 <code>Audio</code>, a API <code>HTMLMediaElement</code> 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."
        ]
      }
    }
  },
  "introduction-to-maps-and-sets-in-javascript": {
    "title": "Introdução a Maps e Sets em JavaScript",
    "summary": ["Aprenda sobre os objetos Map e Set em JavaScript."],
    "intro": [
      "Neste curso interativo, você aprenderá sobre os objetos Map e Set em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-maps-and-sets": {
        "title": "Trabalhando com Maps e Sets",
        "intro": [
          "Nestas aulas, você aprenderá sobre <code>Map</code> e <code>Set</code> em JavaScript. Você também aprenderá como ambos diferem de <code>WeakSet</code> e <code>WeakMap</code>."
        ]
      },
      "workshop-plant-nursery-catalog": {
        "title": "Crie um Catálogo de Viveiro de Plantas",
        "intro": [
          "Neste workshop, você praticará usar 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 <code>Map</code> para armazenar pares chave-valor e o objeto <code>Set</code> 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 <code>Map</code> e <code>Set</code>, 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."
        ]
      }
    }
  },
  "learn-localstorage-and-crud-operations-with-javascript": {
    "title": "Aprenda localStorage e Operações CRUD com JavaScript",
    "summary": [
      "Aprenda como usar localStorage e realizar operações CRUD em JavaScript."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá como usar localStorage e realizar operações CRUD em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-client-side-storage-and-crud-operations": {
        "title": "Trabalhando com Armazenamento do Lado do Cliente e Operações CRUD",
        "intro": [
          "Nestas aulas, você aprenderá sobre armazenamento no lado do cliente e operações CRUD em JavaScript. Você aprenderá sobre <code>localStorage</code> e <code>sessionStorage</code> juntamente com seus métodos e propriedades, cookies, a API do Cache, IndexedDB e muito mais."
        ]
      },
      "workshop-todo-app": {
        "title": "Crie um App de Lista de Tarefas usando Armazenamento Local",
        "intro": [
          "O armazenamento local é um recurso do navegador que permite que aplicações web armazenem pares 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 em uma sessão de página posterior.",
          "Neste workshop, você aprenderá a manipular entradas de formulário, 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á 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 <code>localStorage</code>, você primeiro precisa revisar os conceitos.",
          "Abra esta página para revisar a propriedade <code>localStorage</code>, a propriedade <code>sessionStorage</code> 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."
        ]
      }
    }
  },
  "introduction-to-javascript-classes": {
    "title": "Introdução a Classes JavaScript",
    "summary": ["Aprenda sobre classes em JavaScript e como usá-las."],
    "intro": [
      "Neste curso interativo, você aprenderá sobre classes em JavaScript e como usá-las."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-how-to-work-with-classes-in-javascript": {
        "title": "Compreendendo Como Trabalhar com Classes em JavaScript",
        "intro": [
          "Nestas aulas, você aprenderá sobre classes em JavaScript. Você aprenderá sobre herança, a palavra-chave <code>this</code>, 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 classe, 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 bancária."
        ]
      },
      "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 <code>this</code>, 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."
        ]
      }
    }
  },
  "learn-recursion-with-javascript": {
    "title": "Aprenda Recursão com JavaScript",
    "summary": [
      "Compreenda o conceito de recursão e como implementá-lo em JavaScript."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá sobre recursão em JavaScript e como usá-la para resolver problemas."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-recursion-and-the-call-stack": {
        "title": "Compreendendo Recursão e a Pilha de Chamadas",
        "intro": [
          "Nesta aula, você aprenderá sobre recursão e a pilha de chamadas."
        ]
      },
      "workshop-countup": {
        "title": "Crie uma Contagem Crescente",
        "intro": [
          "Neste workshop você criará uma função de contagem que retorna um array de números em contagem crescente de 1 até um número dado."
        ]
      },
      "lab-countdown": {
        "title": "Crie uma Contagem Regressiva",
        "intro": [
          "Para este laboratório, você criará uma função de contagem regressiva que retorna um conjunto de números em contagem regressiva de um número dado até 1."
        ]
      },
      "lab-range-of-numbers": {
        "title": "Crie um Gerador de Intervalo de Números",
        "intro": [
          "Neste laboratório, você usará recursão para gerar um array de números dentro de um intervalo especificado.",
          "Você praticará chamadas de função recursivas, casos base e a construção de arrays por recursão."
        ]
      },
      "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 sub-problemas mais simples, até que eles se tornem fáceis de 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ção",
        "intro": [
          "Para este laboratório, você criará um gerador de permutação que produz todas as permutações possíveis de uma string fornecida."
        ]
      },
      "review-recursion": {
        "title": "Revisão sobre Recursão",
        "intro": [
          "Antes de ser questionado 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."
        ]
      }
    }
  },
  "introduction-to-functional-programming-with-javascript": {
    "title": "Introdução à Programação Funcional com JavaScript",
    "summary": [
      "Aprenda os fundamentos da programação funcional em JavaScript."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá conceitos e técnicas de programação funcional em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-functional-programming": {
        "title": "Compreendendo Programação Funcional",
        "intro": [
          "Nestas aulas, 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": [
          "Nas aulas 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-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."
        ]
      },
      "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 faz para reordenar um array de inteiros."
        ]
      },
      "review-javascript-functional-programming": {
        "title": "Revisão sobre Programação Funcional em JavaScript",
        "intro": [
          "Antes de ser questionado 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."
        ]
      }
    }
  },
  "introduction-to-asynchronous-javascript": {
    "title": "Introdução a JavaScript Assíncrono",
    "summary": [
      "Aprenda os fundamentos da programação assíncrona em JavaScript."
    ],
    "intro": [
      "Neste curso interativo, você aprenderá conceitos e técnicas de programação assíncrona em JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-asynchronous-programming": {
        "title": "Compreendendo Programação Assíncrona",
        "intro": [
          "Nestas aulas, 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 <code>async</code> funciona, a API <code>Fetch</code>, promessas, <code>async/await</code>, a API <code>Geolocation</code> e muito mais."
        ]
      },
      "workshop-fcc-authors-page": {
        "title": "Crie uma Página de Autores do fCC",
        "intro": [
          "Um aspecto comum do desenvolvimento 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 carregar resultados em lotes."
        ]
      },
      "lab-fcc-forum-leaderboard": {
        "title": "Crie um Quadro de Líderes do Fórum do fCC",
        "intro": [
          "Para este laboratório você praticará JavaScript assíncrono programando seu próprio quadro de líderes do fórum do freeCodeCamp."
        ]
      },
      "lab-weather-app": {
        "title": "Crie um Aplicativo do Tempo",
        "intro": [
          "Neste laboratório você criará um Aplicativo do Tempo usando uma API.",
          "Você praticará como buscar dados da API, armazená-los e exibi-los no 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."
        ]
      }
    }
  },
  "information-security": {
    "title": "Segurança da informação",
    "intro": [
      "Com tudo o que fazemos on-line, há uma grande quantidade de informações sensíveis em risco: endereços de e-mail, senhas, números de telefone e muito mais.",
      "Com o certificado de segurança da informação, você criará um aplicativo web seguro com o HelmetJS para aprender os fundamentos de proteção de informações on-line.",
      "Você também vai construir um cliente TCP, um Nmap e um scanner de portas em Python. Isso ajudará você a aprender o básico do teste de intrusão — um componente importante de boa segurança da informação."
    ],
    "note": "",
    "blocks": {
      "information-security-with-helmetjs": {
        "title": "Segurança da informação com HelmetJS",
        "intro": [
          "Este curso de programação se concentra no HelmetJS, um tipo de middleware para aplicativos baseados em Express que define automaticamente os cabeçalhos HTTP. Desta forma, ele pode prevenir que informações confidenciais sejam transmitidas involuntariamente entre o servidor e o cliente.",
          "A conclusão dos cursos abaixo ajudará você a entender como proteger seu site de comportamentos maliciosos."
        ]
      },
      "python-for-penetration-testing": {
        "title": "Python para testes de intrusão",
        "intro": [
          "Estes cursos por vídeo ensinam você a fazer o teste de intrusão com Python. Também conhecido como pen test, o teste de intrusão é um ataque simulado a um sistema para verificar vulnerabilidades.",
          "Neste curso, você aprenderá a respeito de sockets, criará um cliente e um servidor TCP, construirá um scanner Nmap, além de outras ferramentas e técnicas que os testadores de intrusão usam diariamente."
        ]
      },
      "information-security-projects": {
        "title": "Projetos de segurança da informação",
        "intro": [
          "Agora é hora de colocar suas novas habilidades em segurança da informação para funcionar. Estes projetos darão a chance de você praticar as habilidades, princípios e conceitos de segurança da informação que aprendeu.",
          "Quando você tiver terminado, você terá aprendido diversos projetos de segurança da informação, juntamente com uma certificação que poderá mostrar a amigos, familiares e empregadores."
        ]
      }
    }
  },
  "machine-learning-with-python": {
    "title": "Aprendizado de máquina com Python",
    "intro": [
      "A aprendizagem de máquina tem várias aplicações práticas que você pode usar em seus projetos ou no trabalho.",
      "Na certificação de aprendizagem de máquina com Python, você usará o framework chamado TensorFlow para construir várias redes neurais e explorar técnicas mais avançadas, como o processamento de linguagem natural e a aprendizagem por reforço.",
      "Você também vai mergulhar em redes neurais e aprender os princípios por trás de como as redes neurais profundas, recorrentes e convolucionais funcionam."
    ],
    "note": "",
    "blocks": {
      "tensorflow": {
        "title": "Tensorflow",
        "intro": [
          "O TensorFlow é um framework de código aberto que facilita o uso da aprendizagem de máquina e das redes neurais.",
          "O curso por vídeos a seguir foi criado por Tim Ruscica, também conhecido como \"Tech With Tim\". Ele ajudará você a entender o TensorFlow e algumas de suas capacidades poderosas."
        ]
      },
      "how-neural-networks-work": {
        "title": "Como as redes neurais funcionam",
        "intro": [
          "As redes neurais estão no núcleo daquilo a que hoje chamamos de inteligência artificial. Mas, historicamente, elas foram difíceis de entender, especialmente para os iniciantes no campo de aprendizagem de máquina.",
          "Mesmo se você for completamente novo em redes neurais, esses cursos por vídeo de Brandon Rohrer farão com que você se sinta confortável com os conceitos e com a matemática por trás deles."
        ]
      },
      "machine-learning-with-python-projects": {
        "title": "Projetos de aprendizagem de máquina com Python",
        "intro": [
          "A aprendizagem de máquina tem muitas aplicações práticas. Ao completar estes projetos de programação gratuitos e desafiadores, você vai demonstrar que tem um bom conhecimento nos fundamentos de aprendizagem de máquina, além de se qualificar para sua certificação em aprendizagem de máquina com Python."
        ]
      }
    }
  },
  "college-algebra-with-python": {
    "title": "Álgebra para o ensino superior com Python",
    "intro": [
      "Este curso foi projetado como um curso universitário de um semestre. Ele consiste em vídeos instrutivos, com os notebooks do Google Colaboratory para acompanhar os desafios e projetos de modo interativo.",
      "À medida que você passa por cada parte do curso em sequência, você vai entender a álgebra e como escrever códigos em Python para resolver problemas de álgebra.",
      "Ao longo deste curso, você também criará seu próprio notebook de álgebra no Colaboratory, que poderá usar como uma calculadora personalizada. Este curso (e o código que você escreve aqui) dará a você a base para uma compreensão mais profunda da matemática e da ciência de dados."
    ],
    "note": "",
    "blocks": {
      "learn-ratios-and-proportions": {
        "title": "Aprenda razões e proporções",
        "intro": [
          "Sua jornada começa aqui enquanto você aprende como configurar um notebook do Colaboratory que pode executar código em Python. Então, use o notebook para acompanhar os vídeos para aprender razões e proporções usando Python."
        ]
      },
      "learn-how-to-solve-for-x": {
        "title": "Aprenda a resolver para X",
        "intro": [
          "Esta unidade se concentrará em como resolver um número desconhecido (geralmente chamado de \"x\") usando código escrito em Python e álgebra."
        ]
      },
      "learn-fractions-and-decimals": {
        "title": "Aprenda frações e números decimais",
        "intro": [
          "Esta unidade se concentrará na conversão de números decimais em frações e porcentagens."
        ]
      },
      "learn-functions-and-graphing": {
        "title": "Aprenda funções e gráficos",
        "intro": ["Esta unidade ensinará você sobre as funções matemáticas."]
      },
      "learn-linear-functions": {
        "title": "Aprenda funções lineares",
        "intro": [
          "Esta unidade mostrará para você como desenvolver equações lineares a partir de dois pontos."
        ]
      },
      "learn-common-factors-and-square-roots": {
        "title": "Aprenda fatores comuns e raízes quadradas",
        "intro": [
          "Nesta unidade, você aprenderá a encontrar fatores comuns e a dividi-los. Isto será útil na simplificação de frações e fatoração de raízes quadradas."
        ]
      },
      "build-a-multi-function-calculator-project": {
        "title": "Calculadora multifunção",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará uma calculadora multifunção."
        ]
      },
      "learn-how-to-graph-systems-of-equations": {
        "title": "Aprenda a criar sistemas gráficos de equações",
        "intro": [
          "Esta unidade se concentrará em construir o gráfico de duas equações no mesmo plano de coordenadas, para que você possa ver onde as linhas se cruzam."
        ]
      },
      "learn-how-to-solve-systems-of-equations": {
        "title": "Aprenda a resolver sistemas de equações",
        "intro": [
          "Nesta unidade, você aprenderá a resolver um sistema de duas equações (com duas variáveis) sem gráfico. Você verá como pode fatorar uma equação e resolver para uma determinada variável em Python. Ao final desta unidade, você será capaz de resolver e criar o gráfico do sistema com um bloco de código."
        ]
      },
      "learn-applications-of-linear-systems": {
        "title": "Aprenda aplicações de sistemas lineares",
        "intro": [
          "Nesta unidade, você verá como usar a álgebra que aprendeu até agora para resolver problemas do mundo real."
        ]
      },
      "learn-quadratic-equations": {
        "title": "Aprenda equações quadráticas",
        "intro": [
          "Esta unidade vai além das equações lineares, para trabalhar com expoentes e parábolas em gráfico. Você aprenderá a encontrar pontos-chave nas parábolas e a resolver equações do segundo grau."
        ]
      },
      "build-a-graphing-calculator-project": {
        "title": "Calculadora gráfica",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará uma calculadora gráfica."
        ]
      },
      "learn-parent-graphs-and-polynomials": {
        "title": "Aprenda gráficos e polinômios pais",
        "intro": [
          "Esta unidade vai mostrar para você muitos tipos diferentes de gráficos \"pai\", os padrões básicos que criam gráficos mais complicados. Os polinômios são expressões matemáticas com \"várias coisas\" – as equações mais complicadas que são construídas com padrões básicos. Você verá como esses gráficos se parecem, como modificá-los e como fazer tudo isso com código em Python."
        ]
      },
      "build-three-math-games-project": {
        "title": "Três jogos de matemática",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará três jogos de matemática."
        ]
      },
      "learn-business-applications-of-college-algebra": {
        "title": "Aprenda aplicações de negócios com álgebra do ensino superior",
        "intro": [
          "Esta unidade mostrará a você como aplicar as habilidades de resolução e criação de gráficos para encontrar custo, receita e lucro. Você escreverá um código para desenvolver uma função de demanda a partir de dois pontos. Você verá como o preço afeta o gráfico de lucros e como todas essas equações se relacionam entre si."
        ]
      },
      "learn-simple-and-compound-interest": {
        "title": "Aprenda juros simples e compostos",
        "intro": [
          "Esta unidade mostrará a você como calcular juros, pagamentos de empréstimos e o valor estimado dos investimentos. Você verá a fórmula matemática e a transformará em código. Como essas fórmulas tendem a ficar complicadas, você vai gostar de ter o código onde você pode apenas modificar alguns valores."
        ]
      },
      "learn-exponents-and-logarithms": {
        "title": "Aprenda expoentes e logaritmos",
        "intro": [
          "Esta unidade vai mostrar a você como expoentes e logaritmos são funções inversas e como você pode usar essas funções em várias aplicações."
        ]
      },
      "build-a-financial-calculator-project": {
        "title": "Calculadora financeira",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará uma calculadora financeira."
        ]
      },
      "college-algebra-with-python-conclusion": {
        "title": "Álgebra do ensino superior com Python: conclusão",
        "intro": [
          "Esta será a última unidade deste curso. Vamos ver como você pode conectar seus conhecimentos matemáticos e Python a dados externos."
        ]
      },
      "build-a-data-graph-explorer-project": {
        "title": "Explorador de gráfico de dados",
        "intro": [
          "Este é um dos projetos necessários para obter sua certificação.",
          "Para este projeto, você criará uma explorador de gráfico de dados."
        ]
      }
    }
  },
  "python-for-everybody": {
    "title": "Python para todos legado",
    "intro": [
      "O Python é uma das linguagens de programação mais populares e flexíveis atualmente. Você pode usá-la para tudo, da programação básica até a aprendizagem de máquina."
    ],
    "note": "",
    "blocks": {
      "python-for-everybody": {
        "title": "Python para todos",
        "intro": [
          "Python para todos é uma série gratuita de cursos em vídeos que ensina o básico para usar o Python 3.",
          "Os cursos foram criados pelo Dr. Charles Severance (também conhecido como Dr. Chuck). Ele é professor clínico na Escola de Informação da Universidade de Michigan, onde leciona vários cursos orientados à tecnologia, incluindo programação, projeto de banco de dados e desenvolvimento para a web."
        ]
      }
    }
  },
  "coding-interview-prep": {
    "title": "Preparação para entrevistas de programação",
    "intro": [
      "Se estiver procurando exercícios gratuitos de programação para se preparar para sua próxima entrevista de emprego, nós temos o que você precisa.",
      "Esta seção contém dezenas de desafios de programação que testam seu conhecimento de algoritmos, estruturas de dados e matemática. Ela também possui vários projetos adicionais, que você pode usar para fortalecer suas habilidades ou adicionar ao seu portfólio.",
      "Este trabalho incorpora material da <a href=\"https://www.wikipedia.org/\" target=\"_blank\">Wikipedia</a>, que está licenciada sob a <a href=\"https://creativecommons.org/licenses/by-sa/4.0/\" target=\"_blank\">Creative Commons Attribution-ShareAlike License 4.0</a>. O conteúdo original pode ter sido modificado e adaptado. Para a versão inalterada e detalhes adicionais, veja a página original na <a href=\"https://www.wikipedia.org/\" target\"_blank\">Wikipedia</a>."
    ],
    "blocks": {
      "algorithms": {
        "title": "Algoritmos",
        "intro": [
          "Esses exercícios de programação gratuitos ensinam alguns algoritmos comuns que você provavelmente encontrará na vida real. Eles são uma grande oportunidade para melhorar suas habilidades de lógica e programação.",
          "Estes algoritmos são frequentemente usados em entrevistas de trabalho para testar as habilidades de um candidato. Nós vamos oferecer explicações claras e concisas sobre como esses vários algoritmos funcionam para que você possa implementar uma solução para cada um.",
          "NOTA: Esses desafios suportam soluções apenas para JavaScript."
        ]
      },
      "data-structures": {
        "title": "Estruturas de dados",
        "intro": [
          "Esses cursos de programação gratuitos têm o objetivo de ajudá-lo a lidar com estruturas de dados grandes e complexas com as quais você ainda não está familiarizado.",
          "Trabalhando com os cursos abaixo, você aprenderá sobre cada tipo de estrutura de dados e implementará algoritmos para reforçar seu entendimento sobre eles.",
          "NOTA: Esses desafios suportam soluções apenas para JavaScript."
        ]
      },
      "take-home-projects": {
        "title": "Projetos para levar para casa",
        "intro": [
          "Entrevistas de programação sempre foram estressantes. Os candidatos a empregos às vezes recebem um projeto para levar para casa, a ser concluído fora da entrevista. Esses tipos de entrevistas geralmente exigem muito trabalho, mas são uma ótima maneira para os empregadores verem como você se sairia no trabalho.",
          "Realize os projetos de codificação adicionais abaixo para uma prática extra. Não tenha pressa, melhore-os e coloque no seu currículo ou portfólio para mostrar a possíveis empregadores."
        ]
      }
    }
  },
  "the-odin-project": {
    "title": "The Odin Project - freeCodeCamp Remix",
    "intro": [
      "O Odin Project foi criado em 2013 por um único desenvolvedor, Erik Trautman. Ao longo dos anos, uma comunidade de código aberto surgiu para manter e expandir o projeto.",
      "O freeCodeCamp expandiu o currículo de código aberto para ser executado de maneira interativa no navegador, com testes para avaliar seu código e garantir que você tenha entendido os conceitos principais.",
      "Se você quiser a experiência original de configurar todo o Odin Project para ser executado no seu computador local, você pode conferir o Odin Project original no <a href='https://www.theodinproject.com/' target='_blank' rel='noopener noreferrer nofollow'>site do projeto</a>. Agradecemos imensamente à comunidade do Odin Project por continuar a manter esse valioso recurso de aprendizagem para desenvolvedores de todo o mundo.",
      "Este curso não é oficial e não endossado pelo Odin Project. Foram feitas alterações no conteúdo curricular do Odin Project e todo o material instrucional do curso está licenciado sob a <a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' target='_blank' rel='noopener noreferrer nofollow'>CC-BY-SA-NC 4.0</a>",
      "<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/deed' target='_blank' rel='noopener noreferrer nofollow'>&copy; The Odin Project</a>",
      "Este curso inclui conteúdo de <a href='https://javascript.info/' target='_blank' rel='noopener noreferrer nofollow'>JavaScript.info</a>, que está sob a licença <a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' target='_blank' rel='noopener noreferrer nofollow'>CC-BY-NC-SA 4.0</a>."
    ],
    "blocks": {
      "top-learn-html-foundations": {
        "title": "Aprenda o básico de HTML",
        "intro": [
          "Obtenha uma compreensão sólida dos fundamentos do HTML com este curso. Desde a estruturação de páginas da web até a compreensão de tags semânticas, você construirá uma base sólida para criar conteúdo bem organizado e acessível na web."
        ]
      },
      "top-working-with-text": {
        "title": "Trabalhando com textos",
        "intro": [
          "Explore as complexidades de trabalhar com textos em desenvolvimento para a web. Aprenda sobre formatação, manipulação e apresentação de textos para melhorar suas habilidades na criação de conteúdo para a web."
        ]
      },
      "top-links-and-images": {
        "title": "Links e imagens",
        "intro": [
          "Aprenda a incorporar links e imagens em seus projetos para a web. Este curso cobre os fundamentos da criação de links e da incorporação de imagens para tornar seus sites mais interativos e visualmente atraentes."
        ]
      },
      "top-build-a-recipe-project": {
        "title": "Aprenda o básico de HTML criando uma página de receitas",
        "intro": [
          "Coloque suas habilidades HTML em prática construindo uma página de receitas. Este projeto prático permite que você aplique seu conhecimento e crie uma página funcional para a web e, simultaneamente, reforce os conceitos-chave de desenvolvimento em HTML."
        ]
      },
      "top-learn-css-foundations": {
        "title": "Aprenda o básico de CSS",
        "intro": [
          "Mergulhe no mundo das folhas de estilo em cascata (CSS) e aprenda a estilizar seus elementos do HTML. Explore propriedades de estilo, seletores e layouts para dar vida às suas páginas da web."
        ]
      },
      "top-learn-css-foundations-projects": {
        "title": "Projetos para aprender o básico de CSS",
        "intro": [
          "Leve suas habilidades em CSS para o próximo nível, trabalhando em projetos práticos. Este curso fornece experiência prática na aplicação de CSS para criar projetos responsivos para cenários reais."
        ]
      },
      "top-learn-css-specificity": {
        "title": "Aprenda especificidade no CSS",
        "intro": [
          "Aprenda especificidade em CSS e obtenha uma melhor compreensão de como os estilos são aplicados aos elementos do HTML. Este curso explora as nuances das regras do CSS e ajuda você a escrever estilos eficientes e direcionados para suas páginas da web."
        ]
      },
      "top-the-box-model": {
        "title": "Aprenda sobre o modelo de caixas",
        "intro": [
          "Aprenda o modelo de caixas do CSS com este curso. Entenda como elementos são renderizados na web e aprenda a manipular espaçamento, bordas e preenchimento para atingir o layout e o design desejado."
        ]
      },
      "top-introduction-to-flexbox": {
        "title": "Introdução ao Flexbox",
        "intro": [
          "Descubra o poder do Flexbox, um modelo de layout que simplifica o design de layouts flexíveis e responsivos da web. Aprenda a criar estruturas de páginas dinâmicas e adaptáveis com facilidade."
        ]
      },
      "top-learn-block-and-inline": {
        "title": "Aprenda a diferença entre bloco e em linha",
        "intro": [
          "Explore as distinções entre elementos de bloco e elementos em linha no HTML e CSS. Este curso fornece informações sobre como esses tipos de exibição afetam o layout e o comportamento, permitindo que você tome decisões informadas de design."
        ]
      },
      "top-learn-variables-and-operators": {
        "title": "Aprenda variáveis e operadores",
        "intro": [
          "Comece a usar o JavaScript aprendendo sobre variáveis e operadores. Este curso abrange os fundamentos da programação em JavaScript, incluindo tipos de dados, operadores e declarações de variáveis."
        ]
      },
      "top-learn-data-types-and-conditionals": {
        "title": "Aprenda tipos de dados e condicionais",
        "intro": ["Aprenda sobre tipos de dados e condicionais em JavaScript."]
      },
      "top-learn-function-basics": {
        "title": "Aprenda funções básicas",
        "intro": ["Aprenda funções em JavaScript."]
      },
      "top-basic-function-projects": {
        "title": "Projetos de funções básicas",
        "intro": [
          "Teste suas habilidades de JavaScript criando funções básicas."
        ]
      },
      "top-learn-arrays-and-loops": {
        "title": "Aprenda arrays e laços",
        "intro": ["Aprenda sobre arrays e laços de repetição em JavaScript."]
      },
      "top-learn-to-solve-problems-and-understand-errors": {
        "title": "Aprenda a resolver problemas e a entender erros",
        "intro": [
          "Aprenda a resolver problemas e a entender os erros em JavaScript."
        ]
      },
      "top-build-a-rock-paper-scissors-game": {
        "title": "Crie um Jogo de Pedra, Papel ou Tesoura",
        "intro": [
          "Teste suas habilidades em JavaScript criando um jogo de pedra, papel e tesoura."
        ]
      }
    }
  },
  "project-euler": {
    "title": "Projeto Euler",
    "intro": [
      "Complete os desafios de programação abaixo, diretamente dos grandes arquivos do Projeto Euler. Isso fortalecerá seu conhecimento de algoritmos e de matemática.",
      "Esses problemas variam em dificuldade e, para muitos, a experiência é uma aprendizagem em sequência indutiva. Ou seja, ao resolver um problema, você será exposto a um novo conceito que permite a você resolver um problema que antes era inacessível. Você consegue concluir todos eles?"
    ],
    "blocks": {
      "project-euler-problems-1-to-100": {
        "title": "Problemas do Projeto Euler de 1 a 100",
        "intro": [
          "Neste primeiro conjunto de desafios, você usará conceitos matemáticos como a sequência de Fibonacci, teoria dos números primos e análise combinatória para escrever algoritmos eficientes para resolver esses problemas.",
          "NOTA: Esses desafios suportam soluções apenas para JavaScript."
        ]
      },
      "project-euler-problems-101-to-200": {
        "title": "Problemas do Projeto Euler de 101 a 200",
        "intro": [
          "Neste conjunto de desafios, você vai desenvolver as habilidades que aprendeu na primeira parte do curso e usar conceitos mais avançados, como computação vetorial, pirâmide de Pascal e o algoritmo RSA para resolver esses problemas de modo eficiente.",
          "NOTA: Esses desafios suportam soluções apenas para JavaScript."
        ]
      },
      "project-euler-problems-201-to-300": {
        "title": "Problemas do Projeto Euler de 201 a 300",
        "intro": [
          "Neste conjunto de desafios, você continuará a desenvolver as habilidades que aprendeu anteriormente e usará conceitos como o teorema dos binômios, números de Hamming e a sequência de Collatz para desenvolver ainda mais suas habilidades matemáticas e de resolução de problemas.",
          "NOTA: Esses desafios suportam soluções apenas para JavaScript."
        ]
      },
      "project-euler-problems-301-to-400": {
        "title": "Problemas do Projeto Euler de 301 a 400",
        "intro": [
          "Aqui, você continuará a exercitar suas habilidades matemáticas e algorítmicas ao usar conceitos como a teoria combinatória dos jogos, operações bitwise e a sequência autodescritiva de Golomb para desenvolver soluções eficientes para estes problemas.",
          "NOTA: Esses desafios suportam soluções apenas para JavaScript."
        ]
      },
      "project-euler-problems-401-to-480": {
        "title": "Problemas do Projeto Euler de 401 a 480",
        "intro": [
          "Neste conjunto final de desafios, você precisará utilizar tudo o que aprendeu até este ponto e usar conceitos avançados como divisores unitários, a rotina de Kaprekar e muito mais para resolver estes problemas complexos.",
          "NOTA: Esses desafios suportam soluções apenas para JavaScript."
        ]
      }
    }
  },
  "foundational-c-sharp-with-microsoft": {
    "title": "Fundamentação Grátis de C# com a Certificação Microsoft",
    "intro": [
      "Este curso oferece uma introdução abrangente à programação em C#, cobrindo seus conceitos principais, sintaxe e aplicação prática em desenvolvimento de software.",
      "Através de exercícios e projetos práticos, você aprenderá os fundamentos de C#, incluindo variáveis, tipos de dados, estruturas de controle e princípios de programação orientada a objetos.",
      "Ao final deste curso, você terá obtido as habilidades práticas e conhecimentos necessários para programar em C# com confiança para criar aplicações."
    ],
    "note": "Cada seção abaixo tem um troféu associado a ela. Você deve obtê-lo na plataforma Microsoft Learn. Depois de ganhar cada troféu, você precisa verificá-lo no freeCodeCamp. Só então você poderá se qualificar para o exame de certificação.",
    "blocks": {
      "write-your-first-code-using-c-sharp": {
        "title": "Escreva seu primeiro código em C#",
        "intro": [
          "Comece sua jornada aprendendo a escrever seu primeiro código em C#. Desenvolva bem seus conhecimentos básicos enquanto explora os fundamentos e a sintaxe da linguagem, preparando o terreno para suas aventuras em programação."
        ]
      },
      "create-and-run-simple-c-sharp-console-applications": {
        "title": "Crie e execute aplicações simples de console em C#",
        "intro": [
          "Domine a arte de criar e executar aplicações simples de console em C#. Mergulhe no mundo da programação baseada em consoles, onde você ganhará a experiência prática de executar seu código e vê-lo em ação."
        ]
      },
      "add-logic-to-c-sharp-console-applications": {
        "title": "Adicione lógica a aplicações de console em C#",
        "intro": [
          "Libere o poder da lógica nas aplicações de console em C#. Aprenda a adicionar lógica e recursos de tomada de decisão ao código, permitindo que suas aplicações façam escolhas dinâmicas e respondam inteligentemente a diferentes cenários."
        ]
      },
      "work-with-variable-data-in-c-sharp-console-applications": {
        "title": "Trabalhe com dados variáveis em aplicações de console do C#",
        "intro": [
          "Descubra a versatilidade de dados variáveis nas aplicações de console em C#. Aproveite a capacidade de armazenar e manipular diferentes tipos de dados, como números e texto, aprofundando em conceitos essenciais de variáveis e manipulação de dados."
        ]
      },
      "create-methods-in-c-sharp-console-applications": {
        "title": "Crie métodos em aplicações de console em C#",
        "intro": [
          "Torne mais avançadas suas aplicações de console em C# dominando a arte de criar métodos. Aprenda a organizar e modularizar seu código, tornando-o mais controlável, reutilizável e eficiente."
        ]
      },
      "debug-c-sharp-console-applications": {
        "title": "Depure aplicações de console em C#",
        "intro": [
          "Aprimore suas habilidades de solução de problemas ao mergulhar no mundo da depuração de aplicações de console em C#. Obtenha a capacidade de identificar e corrigir problemas no código, garantindo que as aplicações sejam executadas sem problemas e apresentem os resultados desejados."
        ]
      },
      "foundational-c-sharp-with-microsoft-certification-exam": {
        "title": "Exame de fundamentos de C# com certificação da Microsoft",
        "intro": [
          "Use o que aprendeu para passar no exame e ganhar suas Certificação da Microsoft em Fundamentos de C#"
        ]
      }
    }
  },
  "a2-english-for-developers": {
    "title": "Certificação A2 de Inglês para Desenvolvedores (Beta)",
    "intro": [
      "Neste currículo de inglês para desenvolvedores, você aprenderá o essencial da comunicação em inglês. O currículo seguirá o nível A2 do Quadro de Referência Comum Europeu (CEFR). Nosso foco é no vocabulário, particularmente útil para desenvolvedores.",
      "A primeira metade do currículo ajudará você a se sentir confortável com a gramática e o uso do inglês. Isso dará a você diversas oportunidades de praticar. Você aprenderá o básico como se apresentar, ter conversas mais simples e discutir seu trabalho.",
      "Na segunda metade, você praticará vocabulário específico para o desenvolvimento de software. Você aprenderá como descrever código, como discutir tendências em tecnologia e como participar de reuniões de equipe.",
      "O currículo inteiro do nível A2 inclui 105 diálogos diferentes. Cada um é projetado para construir seu vocabulário e aumentar sua confiança ao falar em um ambiente profissional da área de tecnologia."
    ],
    "note": "This certification is currently in beta.",
    "blocks": {
      "learn-greetings-in-your-first-day-at-the-office": {
        "title": "Aprenda saudações em seu primeiro dia no escritório",
        "intro": [
          "Neste primeiro curso, você aprenderá expressões comuns para situações que você pode encontrar no seu primeiro dia no trabalho. Você vai aprender sobre apresentações, conhecer pessoas, pedir recomendações para almoço e obter um cartão de acesso com o pessoal da segurança."
        ]
      },
      "en-a2-quiz-first-day-conversations-at-work": {
        "title": "Questionário sobre Conversas no Primeiro Dia de Trabalho",
        "intro": ["", ""]
      },
      "learn-introductions-in-an-online-team-meeting": {
        "title": "Aprenda apresentações em uma reunião on-line com a equipe",
        "intro": [
          "Neste curso, você aprenderá a fazer uma apresentação pessoal. Você também aprenderá a declarar sua profissão e a compartilhar seus objetivos nas reuniões em grupo."
        ]
      },
      "en-a2-quiz-meeting-introductions-at-work": {
        "title": "Questionário sobre Apresentações em Reuniões de Trabalho",
        "intro": ["", ""]
      },
      "learn-conversation-starters-in-the-break-room": {
        "title": "Aprenda a começar uma conversa na sala de descanso",
        "intro": [
          "Neste curso, você aprenderá a iniciar uma conversa em ambientes casuais. Você também aprenderá a falar sobre seus passatempos e características de sua personalidade. Você também aprenderá a perguntar sobre lugares na cidade."
        ]
      },
      "en-a2-quiz-conversation-starters-at-work": {
        "title": "Questionário sobre Conversas na Sala de Descanso",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-a-typical-workday-and-tasks": {
        "title": "Aprenda a falar sobre um dia típico e tarefas",
        "intro": [
          "Neste curso, você aprenderá a falar sobre seu dia de trabalho e sobre as tarefas que você executa no local de trabalho, além de como compartilhar isso com os outros. O foco principal está nas estruturas usadas para descrever suas atividades e no vocabulário relacionado a tarefas."
        ]
      },
      "en-a2-quiz-work-routines-and-tasks": {
        "title": "Questionário sobre Como Falar do Dia de Trabalho",
        "intro": ["", ""]
      },
      "learn-how-to-discuss-your-morning-or-evening-routine": {
        "title": "Aprenda a discutir sobre sua rotina diária ou noturna",
        "intro": [
          "Neste curso, você aprenderá a falar sobre detalhes de sua rotina e a compartilhá-los com alguém. O foco principal está nas estruturas utilizadas para declarar ações de rotina e no vocabulário relacionado."
        ]
      },
      "en-a2-quiz-daily-life-routines": {
        "title": "Questionário sobre Rotinas Diárias no Trabalho",
        "intro": ["", ""]
      },
      "learn-how-to-describe-your-current-project": {
        "title": "Aprenda a descrever seu projeto atual",
        "intro": [
          "Neste curso, você aprenderá a falar sobre os projetos nos quais você está envolvido e a informar aos outros sobre o que você está fazendo nesses projetos. O foco principal está nas estruturas utilizadas para dar essas informações e no vocabulário relacionado."
        ]
      },
      "en-a2-quiz-what-are-you-working-on": {
        "title": "Questionário sobre Como Descrever o Projeto Atual",
        "intro": ["", ""]
      },
      "learn-how-to-ask-and-share-about-educational-and-professional-background": {
        "title": "Aprenda a pedir informações sobre histórico educacional e profissional e como compartilhá-las",
        "intro": [
          "Neste curso, você aprenderá a perguntar sobre o histórico educacional e profissional de outra pessoa e a compartilhar informações sobre seu próprio histórico."
        ]
      },
      "en-a2-quiz-educational-and-professional-background": {
        "title": "Questionário sobre Formação Educacional e Profissional",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-hobbies-and-interests": {
        "title": "Aprenda a falar sobre passatempos e interesses",
        "intro": [
          "Neste curso, você aprenderá diferentes maneiras de falar sobre passatempos e coisas que interessam a você. Você também aprenderá a perguntar sobre os passatempos de outras pessoas e a convidá-los a se juntar a você nessas atividades."
        ]
      },
      "en-a2-quiz-hobbies-and-interests": {
        "title": "Questionário sobre Falar de Hobbies e Interesses",
        "intro": ["", ""]
      },
      "learn-how-to-discuss-roles-and-responsibilities": {
        "title": "Aprenda a Discutir Funções e Responsabilidades",
        "intro": [
          "Neste curso, você discutirá os papéis e responsabilidades das pessoas em uma empresa e fora dela. Você descobrirá como perguntar sobre essas funções e responsabilidades e como compartilhar informações sobre você relacionadas ao tópico."
        ]
      },
      "en-a2-quiz-discuss-roles-responsibilities": {
        "title": "Questionário sobre Funções e Responsabilidades",
        "intro": ["", ""]
      },
      "learn-how-to-have-a-conversation-about-preferences-and-motivations": {
        "title": "Aprenda a ter uma conversa sobre preferências e motivações",
        "intro": [
          "Neste curso, você aprenderá a perguntar sobre o que motiva as pessoas em suas vidas pessoais e profissionais, a responder perguntas relacionadas às suas motivações, e a conversar sobre as preferências das pessoas."
        ]
      },
      "en-a2-quiz-preferences-and-motivations": {
        "title": "Questionário sobre Preferências e Motivações",
        "intro": ["", ""]
      },
      "learn-how-to-discuss-popular-trends-in-technology": {
        "title": "Aprenda a discutir tendências populares em tecnologia",
        "intro": [
          "Neste curso, você aprenderá a conversar sobre assuntos em tecnologia a respeito dos quais todos estão falando nos dias de hoje."
        ]
      },
      "en-a2-quiz-sharing-opinions": {
        "title": "Questionário sobre Tendências Tecnológicas",
        "intro": ["", ""]
      },
      "learn-how-to-clarify-information-in-different-interactions": {
        "title": "Aprenda a esclarecer as informações em diferentes interações",
        "intro": [
          "Neste curso, você aprenderá a verificar se as informações que você tinha estão corretas e a pedir esclarecimentos quando algo não estiver claro para você."
        ]
      },
      "en-a2-quiz-getting-the-details-right": {
        "title": "Questionário sobre Esclarecimento de Informações",
        "intro": ["", ""]
      },
      "learn-how-to-use-basic-programming-vocabulary-in-conversations": {
        "title": "Aprenda a usar o vocabulário básico de programação em conversas",
        "intro": [
          "Este curso apresentará um vocabulário básico relacionado à programação. Você aprenderá a fazer perguntas relacionadas aos conceitos básicos de programação."
        ]
      },
      "en-a2-quiz-basic-programming-vocabulary": {
        "title": "Questionário de Vocabulário Básico de Programação",
        "intro": ["", ""]
      },
      "learn-how-to-use-code-related-concepts-and-terms": {
        "title": "Aprenda a usar conceitos e termos relacionados à programação",
        "intro": [
          "Neste curso, você verá termos relacionados à programação e aprenderá a usá-los em uma conversa."
        ]
      },
      "en-a2-quiz-key-programming-terms": {
        "title": "Questionário sobre Conceitos e Termos de Código",
        "intro": ["", ""]
      },
      "learn-how-to-discuss-tech-trends-and-updates": {
        "title": "Aprenda a debater tendências em tecnologia e atualizações",
        "intro": [
          "Neste curso, você verá algumas tendências recentes no mundo da tecnologia e aprenderá a discuti-las em inglês."
        ]
      },
      "en-a2-quiz-discussing-new-ideas": {
        "title": "Questionário sobre Atualizações e Tendências Tecnológicas",
        "intro": ["", ""]
      },
      "learn-how-to-help-a-coworker-troubleshoot-on-github": {
        "title": "Aprenda a ajudar um colega de trabalho a resolver problemas no GitHub",
        "intro": [
          "Neste curso, você verá expressões relacionadas a como pedir ajuda a um colega e a como oferecer ajuda a eles."
        ]
      },
      "en-a2-quiz-discussing-problems-and-solutions": {
        "title": "Questionário sobre Ajudar um Colega no GitHub",
        "intro": ["", ""]
      },
      "learn-how-to-share-your-progress-in-weekly-stand-up-meetings": {
        "title": "Aprenda a compartilhar seu progresso em reuniões semanais de equipe",
        "intro": [
          "Este curso mostrará como falar sobre seus projetos em termos do que você já fez e do que está fazendo neles neste momento."
        ]
      },
      "en-a2-quiz-collaborating-in-meetings": {
        "title": "Questionário sobre Compartilhar Progresso na Reunião Semanal",
        "intro": ["", ""]
      },
      "learn-how-to-ask-for-clarification-on-code-understanding": {
        "title": "Aprenda a pedir esclarecimento na compreensão do código",
        "intro": [
          "Neste curso, você verá como pode fazer perguntas para esclarecer coisas que não estão muito claras para você em um código."
        ]
      },
      "en-a2-quiz-understanding-problems": {
        "title": "Questionário sobre Pedir Esclarecimentos de Código",
        "intro": ["", ""]
      },
      "learn-how-to-document-code-for-a-project": {
        "title": "Aprenda a documentar o código para um projeto",
        "intro": [
          "Este curso mostrará expressões relacionadas ao que fazer ao documentar o código."
        ]
      },
      "en-a2-quiz-document-code-project": {
        "title": "Questionário sobre Documentação de Código",
        "intro": ["", ""]
      },
      "learn-how-to-read-and-understand-code-documentation": {
        "title": "Aprenda a ler e entender a documentação do código",
        "intro": [
          "Este curso apresentará mais expressões relacionadas à documentação de código e dará dicas sobre como entendê-la."
        ]
      },
      "en-a2-quiz-read-understand-code-documentation": {
        "title": "Questionário sobre Entender Documentação de Código",
        "intro": ["", ""]
      },
      "learn-how-to-analyze-code-documentation": {
        "title": "Aprenda a analisar a documentação de código",
        "intro": [
          "Neste curso, você verá algumas ideias para ajudá-lo a lidar com a documentação e a analisá-la em termos simples."
        ]
      },
      "en-a2-quiz-analyzing-documentation": {
        "title": "Questionário sobre Análise de Documentação de Código",
        "intro": ["", ""]
      },
      "learn-how-to-share-progress-and-accomplishments": {
        "title": "Aprenda a compartilhar progresso e realizações",
        "intro": [
          "Neste curso, você aprenderá a compartilhar seu progresso com os colegas de trabalho e a falar sobre os sucessos que teve em seus projetos."
        ]
      },
      "en-a2-quiz-discussing-progress-and-results": {
        "title": "Questionário sobre Compartilhar Progresso e Conquistas",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-updates-and-plans-for-tasks-and-projects": {
        "title": "Aprenda a falar sobre atualizações e planos para tarefas e projetos",
        "intro": [
          "Este curso mostrará como falar sobre os avanços mais recentes em seus projetos e sobre seus planos."
        ]
      },
      "en-a2-quiz-task-project-updates-plans": {
        "title": "Questionário sobre Atualizações de Tarefas e Projetos",
        "intro": ["", ""]
      },
      "learn-how-to-express-agreement-or-disagreement": {
        "title": "Aprenda a expressar concordância e desacordo",
        "intro": [
          "Este curso introduzirá maneiras de dizer que concordamos com o que uma outra pessoa diz e de dizer a elas educadamente que não estamos de acordo com elas."
        ]
      },
      "en-a2-quiz-express-agreement-disagreement": {
        "title": "Questionário sobre Expressar Concordância e Discordância",
        "intro": ["", ""]
      },
      "learn-how-to-offer-technical-support-and-guidance": {
        "title": "Aprenda a oferecer suporte técnico e orientação",
        "intro": [
          "Nesse curso, você verá maneiras de oferecer alguma ajuda em termos de especificações técnicas a outra pessoa."
        ]
      },
      "en-a2-quiz-following-best-practices": {
        "title": "Questionário sobre Oferecer Suporte Técnico",
        "intro": ["", ""]
      },
      "learn-how-to-request-and-receive-guidance": {
        "title": "Aprenda a solicitar e receber orientação",
        "intro": [
          "Este curso mostrará como pedir ajuda a um colega de trabalho quando você precisar."
        ]
      },
      "en-a2-quiz-asking-for-help": {
        "title": "Questionário sobre Solicitar e Receber Orientação",
        "intro": ["", ""]
      },
      "learn-how-to-provide-explanations-when-helping-others": {
        "title": "Aprenda a fornecer explicações quando estiver ajudando outros",
        "intro": [
          "Este curso mostrará maneiras de explicar algo a outras pessoas enquanto as ajuda."
        ]
      },
      "en-a2-quiz-giving-adivice-and-suggestions": {
        "title": "Questionário sobre Explicar Coisas a Outros",
        "intro": ["", ""]
      },
      "en-a2-certification-exam": {
        "title": "Exame de Certificação de Inglês A2 para Desenvolvedores",
        "intro": [
          "Este exame é necessário para reivindicar a Certificação A2 em Inglês para Desenvolvedores."
        ]
      }
    }
  },
  "b1-english-for-developers": {
    "title": "Certificação B1 de Inglês para Desenvolvedores (Beta)",
    "intro": [
      "Neste Currículo de Inglês para Desenvolvedores, você aprenderá o essencial da comunicação em inglês. Isso seguirá o nível B1 do Quadro Europeu Comum de Referência (CEFR). E nós nos concentramos no vocabulário que é particularmente útil para os desenvolvedores.",
      "Isso ajudará você a fortalecer suas habilidades fundamentais enquanto introduz gramática e uso mais complexos. Você aprenderá como descrever lugares e coisas, compartilhar experiências passadas e usar com confiança tempos como Presente Perfeito e Futuro. Estratégias práticas de comunicação também estão incluídas, como gerenciar conversas, expressar opiniões e construir acordo ou discordância em discussões.",
      "Você também se concentrará em aplicar essas habilidades em contextos profissionais e técnicos. Você praticará vocabulário e frases essenciais para desenvolvedores, como descrever código, participar de reuniões stand-up e discutir tendências tecnológicas. Tópicos avançados incluem condicionais, estruturas comparativas e gerenciamento de conversas, para que você possa se preparar para interações no mundo real na indústria de tecnologia.",
      "Todo este currículo de nível B1 inclui 73 diálogos diferentes. Cada um é projetado para construir seu vocabulário e aumentar sua confiança ao falar em um ambiente profissional de tecnologia."
    ],
    "note": "This certification is currently in beta.",
    "blocks": {
      "learn-how-to-describe-places-and-events": {
        "title": "Aprenda a descrever locais e eventos",
        "intro": [
          "Este curso mostrará maneiras de falar sobre lugares e eventos de forma conversacional."
        ]
      },
      "en-b1-quiz-describe-places-events": {
        "title": "Questionário sobre Descrição de Lugares e Eventos",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-past-experiences": {
        "title": "Aprenda a falar sobre experiências passadas",
        "intro": [
          "Neste curso, você aprenderá a compartilhar experiências que teve no passado."
        ]
      },
      "en-b1-quiz-past-experiences": {
        "title": "Questionário sobre Falar de Experiências Passadas",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-past-activities": {
        "title": "Aprenda a falar sobre atividades passadas",
        "intro": ["Neste curso, você aprenderá a falar sobre coisas que fez."]
      },
      "en-b1-quiz-past-activities": {
        "title": "Questionário sobre Falar de Atividades Passadas",
        "intro": ["", ""]
      },
      "learn-present-perfect-while-talking-about-accessibility": {
        "title": "Aprenda o Present Perfect ao falar sobre acessibilidade",
        "intro": [
          "Neste curso, você aprenderá a usar a estrutura de Presente Perfeito e aprenderá um pouco mais sobre acessibilidade."
        ]
      },
      "en-b1-quiz-present-perfect-accessibility": {
        "title": "Questionário sobre Presente Perfeito e Acessibilidade",
        "intro": ["", ""]
      },
      "learn-how-to-plan-future-events": {
        "title": "Aprenda a planejar eventos futuros",
        "intro": [
          "Neste curso, você aprenderá a usar as diferentes formas de tempo futuro para planejar eventos futuros."
        ]
      },
      "en-b1-quiz-plan-future-events": {
        "title": "Questionário sobre Planejar Eventos Futuros",
        "intro": ["", ""]
      },
      "learn-future-continuous-while-describing-actions": {
        "title": "Aprenda o Future Continuous ao descrever ações",
        "intro": [
          "Neste curso, você aprenderá a usar o tempo Future Continuous e como descrever ações a serem realizadas."
        ]
      },
      "en-b1-quiz-future-continuous-actions": {
        "title": "Questionário sobre Futuro Contínuo",
        "intro": ["", ""]
      },
      "learn-how-to-use-conditionals": {
        "title": "Aprenda a usar condicionais",
        "intro": [
          "Neste curso, você aprenderá a usar frases condicionais para descrever resultados hipotéticos dependendo do fato de certas condições serem atendidas."
        ]
      },
      "en-b1-quiz-conditionals": {
        "title": "Questionário sobre Uso de Condicionais",
        "intro": ["", ""]
      },
      "learn-how-to-share-feedback": {
        "title": "Aprenda a compartilhar feedback",
        "intro": [
          "Neste curso, você verá maneiras de dizer a outras pessoas como você se sente sobre o trabalho delas, destacando tanto seus pontos fortes quanto pontos de melhoria."
        ]
      },
      "en-b1-quiz-share-feedback": {
        "title": "Questionário sobre Compartilhar Feedback",
        "intro": ["", ""]
      },
      "learn-how-to-share-your-opinion": {
        "title": "Aprenda como compartilhar suas opiniões",
        "intro": [
          "Este curso irá mostrar como expressar suas ideias e sentimentos sobre tópicos em uma discussão."
        ]
      },
      "en-b1-quiz-share-opinions": {
        "title": "Questionário sobre Compartilhar Opiniões",
        "intro": ["", ""]
      },
      "learn-how-to-express-agreement": {
        "title": "Aprenda a expressar concordância",
        "intro": [
          "Neste curso, você aprenderá a expressar concordância em diferentes ambientes profissionais."
        ]
      },
      "en-b1-quiz-express-agreement": {
        "title": "Questionário sobre Expressar Concordância",
        "intro": ["", ""]
      },
      "learn-how-to-express-disagreement": {
        "title": "Aprenda a expressar discordância",
        "intro": [
          "Neste curso, você aprenderá a expressar discordância em diferentes ambientes profissionais."
        ]
      },
      "en-b1-quiz-express-disagreement": {
        "title": "Questionário sobre Expressar Discordância",
        "intro": ["", ""]
      },
      "learn-how-to-express-concerns": {
        "title": "Aprenda a expressar preocupações",
        "intro": [
          "Neste curso, você aprenderá a informar outras pessoas de que você está preocupado com coisas que podem acontecer aos seus projetos e tarefas."
        ]
      },
      "en-b1-quiz-express-concerns": {
        "title": "Questionário sobre Expressar Preocupações",
        "intro": ["", ""]
      },
      "learn-how-to-express-decisions-based-on-comparisons": {
        "title": "Aprenda a expressar decisões com base em comparações",
        "intro": [
          "Neste curso, você aprenderá como comparar coisas como ferramentas ou empresas usando palavras como melhor, mais rápido e o melhor. Você também vai praticar conversas amigáveis para dar opiniões e tomar decisões."
        ]
      },
      "en-b1-quiz-decisions-comparisons": {
        "title": "Questionário sobre Tomada de Decisões com Comparações",
        "intro": ["", ""]
      },
      "learn-how-to-use-modal-verbs": {
        "title": "Aprenda a usar os verbos modais",
        "intro": [
          "Neste curso, você aprenderá a falar sobre regras, descrever coisas que são necessárias e o que poderia acontecer se elas não forem seguidas. Você também praticará pedir e responder perguntas claramente, e adicionar detalhes úteis às suas ideias."
        ]
      },
      "en-b1-quiz-modal-verbs": {
        "title": "Questionário sobre Uso de Verbos Modais",
        "intro": ["", ""]
      },
      "learn-how-to-manage-a-conversation": {
        "title": "Aprenda a gerenciar uma conversa",
        "intro": [
          "Neste curso, você aprenderá a gerenciar conversas no trabalho — como continuar uma conversa após uma pausa, mudar de assunto educadamente ou interromper quando necessário. Você também praticará usar expressões úteis para manter a conversa clara, amigável e organizada."
        ]
      },
      "en-b1-quiz-manage-conversations": {
        "title": "Questionário sobre Gerenciar Conversas",
        "intro": ["", ""]
      },
      "learn-how-to-clarify-misunderstandings": {
        "title": "Aprenda a esclarecer mal-entendidos",
        "intro": [
          "Neste curso, você aprenderá a pedir e dar explicações quando algo não está claro, usando perguntas educadas e respostas úteis. Você também praticará adivinhar o significado de palavras novas, descrever problemas e esclarecer mal-entendidos de forma amigável e profissional."
        ]
      },
      "en-b1-quiz-clarify-misunderstandings": {
        "title": "Questionário sobre Esclarecer Mal-entendidos",
        "intro": ["", ""]
      },
      "learn-about-speculation-and-requests": {
        "title": "Aprenda sobre especulação e solicitações",
        "intro": [
          "Neste curso, você aprenderá a falar sobre coisas que deveriam ou poderiam ter acontecido no passado e como dar sugestões ou fazer pedidos educados. Você também praticará usar expressões para adivinhar o que pode ter causado um problema e como trabalhar em conjunto para resolvê-lo de maneira clara e respeitosa."
        ]
      },
      "en-b1-quiz-speculation-requests": {
        "title": "Questionário sobre Especulação e Pedidos",
        "intro": ["", ""]
      },
      "learn-about-adverbial-phrases": {
        "title": "Aprenda sobre os expressões adverbiais",
        "intro": [
          "Neste curso, você aprenderá a usar frases que oferecem mais informações sobre quando, onde, com que frequência ou quanto algo acontece. Você também praticará usar essas frases para descrever tarefas, falar sobre planos e explicar resultados de maneira mais clara no seu trabalho diário."
        ]
      },
      "en-b1-quiz-adverbial-phrases": {
        "title": "Questionário sobre Frases Adverbiais",
        "intro": ["", ""]
      },
      "learn-how-to-use-adjectives-in-conversations": {
        "title": "Aprenda a usar adjetivos em conversas",
        "intro": [
          "Neste curso, você aprenderá a usar adjetivos para descrever coisas claramente, comparar opções e destacar detalhes importantes em conversas profissionais. Você também praticará como tornar suas ideias mais fortes e persuasivas."
        ]
      },
      "en-b1-quiz-adjectives-conversations": {
        "title": "Questionário sobre Uso de Adjetivos em Conversas",
        "intro": ["", ""]
      },
      "learn-determiners-and-advanced-use-of-articles": {
        "title": "Aprenda determinantes e o uso avançado de artigos",
        "intro": [
          "Neste curso, você aprenderá a usar determinantes para dar informações claras sobre quantidade, escolha e distribuição. Você também praticará usar artigos de formas mais avançadas, especialmente em conversas profissionais sobre planejamento, tarefas e recursos."
        ]
      },
      "en-b1-quiz-determiners-articles": {
        "title": "Questionário sobre Determinantes e Artigos",
        "intro": ["", ""]
      },
      "learn-how-to-use-reported-speech": {
        "title": "Aprenda a usar o discurso indireto",
        "intro": [
          "Neste curso, você aprenderá a relatar o que alguém disse de maneira clara e natural. Você também praticará usar os tempos verbais corretos e estruturas de frases para compartilhar feedbacks, explicar situações e falar sobre eventos passados em conversas profissionais."
        ]
      },
      "en-b1-quiz-reported-speech": {
        "title": "Questionário sobre Uso de Discurso Indireto",
        "intro": ["", ""]
      },
      "learn-how-to-use-prepositions-according-to-context": {
        "title": "Aprenda a usar pré-posições de acordo com o contexto",
        "intro": [
          "Neste curso, você aprenderá a usar preposições para descrever tempo, lugar e direção claramente em situações cotidianas de trabalho. Você também praticará falar sobre cronogramas, dar direções e explicar onde pessoas ou coisas estão localizadas usando uma linguagem natural e precisa."
        ]
      },
      "en-b1-quiz-prepositions-context": {
        "title": "Questionário sobre Uso de Preposições por Contexto",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-numbers-with-a-coworker": {
        "title": "Aprenda a falar sobre números com um colega de trabalho",
        "intro": [
          "Neste curso, você aprenderá a usar números para falar sobre tarefas, cronogramas, orçamentos e recursos no local de trabalho. Você praticará usar números cardinais e ordinais, porcentagens e frações para organizar o trabalho, explicar o progresso e compartilhar atualizações de inventário ou financeiras claramente com sua equipe."
        ]
      },
      "en-b1-quiz-numbers-at-work": {
        "title": "Questionário sobre Falar de Números no Trabalho",
        "intro": ["", ""]
      },
      "learn-common-phrasal-verbs-and-idioms": {
        "title": "Aprenda expressões verbais e expressões idiomáticas comuns",
        "intro": [
          "Neste curso, você aprenderá a usar verbos frasais e expressões idiomáticas comuns para soar mais natural e confiante no trabalho. Você praticará usar expressões para dar opiniões, fazer sugestões, organizar reuniões e falar sobre tarefas em conversas profissionais do dia a dia."
        ]
      },
      "en-b1-quiz-phrasal-verbs-idioms": {
        "title": "Questionário sobre Phrasal Verbs e Expressões Idiomáticas",
        "intro": ["", ""]
      },
      "en-b1-certification-exam": {
        "title": "Exame de Certificação B1 de Inglês para Desenvolvedores",
        "intro": [
          "Este exame é necessário para reivindicar a Certificação B1 em Inglês para Desenvolvedores."
        ]
      }
    }
  },
  "rosetta-code": {
    "title": "Rosetta Code",
    "intro": [
      "Aumente o nível de suas habilidades criativas de resolução de problemas com essas tarefas de programação gratuitas da biblioteca clássica do Rosetta Code.",
      "Esses desafios podem ser difíceis, mas levarão sua lógica de algoritmos a novos patamares.",
      "<a href='https://rosettacode.org/wiki/Rosetta_Code' target='_blank' rel='noopener noreferrer nofollow'>Atributo: Rosetta Code</a>"
    ],
    "blocks": {
      "rosetta-code-challenges": {
        "title": "Desafios do Rosetta Code",
        "intro": [
          "Estes são os desafios para o Rosetta Code.",
          "NOTA: Estes desafios suportam apenas soluções em JavaScript."
        ]
      }
    }
  },
  "javascript-v9": {
    "title": "Certificação JavaScript",
    "intro": [
      "Este curso ensina conceitos fundamentais de programação JavaScript, como trabalhar com variáveis, funções, objetos, arrays e controle de fluxo. Você também aprenderá a manipular o DOM, lidar com eventos, e aplicar técnicas como programação funcional, assíncrona e práticas recomendadas de acessibilidade.",
      "Para conquistar sua Certificação em JavaScript:",
      "- Complete os cinco projetos obrigatórios para se qualificar para o exame de certificação.",
      "- Passe no exame de Certificação em JavaScript."
    ],
    "chapters": {
      "javascript": "JavaScript",
      "javascript-certification-exam": "Exame de certificação de JavaScript"
    },
    "modules": {
      "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",
      "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",
      "lab-markdown-to-html-converter": "Crie um Conversor de Markdown para HTML",
      "form-validation": "Validação de Formulários",
      "javascript-dates": "Datas",
      "audio-and-video-events": "Eventos de Áudio e Vídeo",
      "lab-drum-machine": "Crie uma Bateria Eletrônica",
      "maps-and-sets": "Maps e Sets",
      "lab-voting-system": "Crie um Sistema de Votação",
      "localstorage-and-crud-operations": "Armazenamento local e Operações CRUD",
      "classes-and-the-this-keyword": "Classes",
      "lab-bank-account-manager": "Crie um Programa de Gestão de Contas Bancárias",
      "recursion": "Recursão",
      "data-structures": "Estruturas de dados",
      "algorithms": "Algoritmos",
      "graphs-and-trees": "Grafos e Árvores",
      "dynamic-programming": "Programação Dinâmica",
      "functional-programming": "Programação Funcional",
      "asynchronous-javascript": "JavaScript Assíncrono",
      "lab-weather-app": "Crie um Aplicativo do Tempo",
      "review-javascript": "Revisão de JavaScript",
      "javascript-certification-exam": "Exame de Certificação JavaScript"
    },
    "module-intros": {
      "data-structures": {
        "note": "Disponível na primavera de 2026",
        "intro": [
          "Neste módulo, você aprenderá sobre listas ligadas, pilhas, filas e mais."
        ]
      },
      "algorithms": {
        "note": "Disponível na primavera de 2026",
        "intro": [
          "Neste módulo, você aprenderá sobre algoritmos comuns de ordenação e busca, incluindo bubble sort, busca binária e outros."
        ]
      },
      "graphs-and-trees": {
        "note": "Disponível na primavera de 2026",
        "intro": ["Neste módulo, você aprenderá sobre grafos, árvores e tries."]
      },
      "dynamic-programming": {
        "note": "Disponível na primavera de 2026",
        "intro": [
          "Neste módulo, você aprenderá como a programação dinâmica funciona."
        ]
      }
    },
    "blocks": {
      "lecture-introduction-to-javascript": {
        "title": "Introdução ao JavaScript",
        "intro": [
          "Nestas aulas, você aprenderá os fundamentos do JavaScript. Os tópicos abordados incluem, mas não se limitam, a variáveis, tipos de dados, como JavaScript interage com HTML e CSS, strings, e muito mais."
        ]
      },
      "lecture-introduction-to-strings": {
        "title": "Introdução a Strings",
        "intro": [
          "Nessas lições, você aprenderá a trabalhar com strings e concatenação de strings."
        ]
      },
      "lecture-understanding-code-clarity": {
        "title": "Compreendendo Clareza de Código",
        "intro": [
          "Nessas 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 variáveis, <code>let</code>, <code>const</code>, <code>console.log</code> e 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 próximas aulas, você aprenderá a trabalhar com tipos de dados em JavaScript. Você também aprenderá como a tipagem dinâmica difere da estática, o operador <code>typeof</code>, e o bug <code>typeof null</code>."
        ]
      },
      "review-javascript-variables-and-data-types": {
        "title": "Revisão sobre Variáveis e Tipos de Dados em JavaScript",
        "intro": [
          "Antes de responder perguntas sobre variáveis e tipos de dados em JavaScript, você deve 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 aulas, você aprenderá a trabalhar com strings no 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á aprendendo mais sobre strings em JavaScript criando um chatbot.",
          "Você aprenderá a trabalhar com literais de modelo e com o método <code>indexOf</code>."
        ]
      },
      "lecture-working-with-string-character-methods": {
        "title": "Trabalhando com Métodos de Caracteres de String",
        "intro": [
          "Nesta aula, você aprenderá sobre a codificação de caracteres ASCII e como usar os métodos <code>charCodeAt()</code> e <code>fromCharCode()</code> 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 Strings",
        "intro": [
          "Nesta aula, você aprenderá a procurar substrings usando o método <code>includes()</code> e como extrair partes de strings usando o método <code>slice()</code>."
        ]
      },
      "workshop-string-inspector": {
        "title": "Criar um inspetor de strings",
        "intro": [
          "Neste workshop, você praticará o trabalho com os métodos <code>includes()</code> e <code>slice()</code> criando um inspetor de strings."
        ]
      },
      "lecture-working-with-string-formatting-methods": {
        "title": "Trabalhando com Métodos de Formatação de Strings",
        "intro": [
          "Nesta aula, você aprenderá a formatar strings mudando seu caso usando os métodos <code>toUpperCase()</code> e <code>toLowerCase()</code>, e como remover espaços em branco usando os métodos <code>trim()</code>, <code>trimStart()</code> e <code>trimEnd()</code>."
        ]
      },
      "workshop-string-formatter": {
        "title": "Criar um formatador de strings",
        "intro": [
          "Neste workshop, você praticará trabalhar com vários métodos de strings, incluindo <code>trim()</code>, <code>toUpperCase()</code> e <code>toLowerCase()</code>."
        ]
      },
      "lecture-working-with-string-modification-methods": {
        "title": "Trabalhando com Métodos de Modificação de Strings",
        "intro": [
          "Nesta aula, você aprenderá a modificar strings substituindo partes delas com o método <code>replace()</code> e como repetir strings várias vezes usando o método <code>repeat()</code>."
        ]
      },
      "workshop-string-transformer": {
        "title": "Crie um Transformer de String",
        "intro": [
          "Neste workshop, você praticará o uso dos métodos <code>replace()</code>, <code>replaceAll()</code> e <code>repeat()</code>."
        ]
      },
      "review-javascript-strings": {
        "title": "Revisão sobre Strings em JavaScript",
        "intro": [
          "Antes de ser questionado sobre o trabalho com strings no JavaScript, você precisa revisar.",
          "Abra esta página para revisar como trabalhar com literais de modelo, o método <code>slice</code>, o método <code>includes</code>, o método <code>trim</code> 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 aulas, você aprenderá sobre o tipo 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 erros de coerção de tipo.",
          "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 aulas, você aprenderá sobre a precedência de operadores, 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 aulas, você aprenderá sobre booleanos e operadores de igualdade e desigualdade, além de outros operadores de comparação."
        ]
      },
      "workshop-logic-checker-app": {
        "title": "Crie um Aplicativo de Verificação de Lógica",
        "intro": [
          "Neste workshop, você vai praticar a criação de uma aplicação de verificação de lógica com instruções condicionais e operadores de comparação."
        ]
      },
      "lecture-working-with-unary-and-bitwise-operators": {
        "title": "Trabalhando com Operadores Unários e Bitwise",
        "intro": [
          "Nestas aulas, você aprenderá sobre operadores unários e operadores bitwise."
        ]
      },
      "lecture-working-with-conditional-logic-and-math-methods": {
        "title": "Trabalhando com Lógica Condicional e Métodos Matemáticos",
        "intro": [
          "Nestas aulas, você aprenderá sobre instruções condicionais, operadores lógicos binários e o objeto <code>Math</code>."
        ]
      },
      "workshop-mathbot": {
        "title": "Crie um Bot de Matemática",
        "intro": [
          "Neste workshop, você revisará como trabalhar com os diferentes métodos do objeto Math criando um Bot de Matemática."
        ]
      },
      "lab-fortune-teller": {
        "title": "Crie um Adivinhador do Futuro",
        "intro": [
          "Neste laboratório, você construirá um adivinhador do futuro selecionando aleatoriamente uma sorte dentre as disponíveis.",
          "Você praticará como trabalhar com o método <code>Math.random()</code> e o método <code>Math.floor()</code> 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 aulas, você aprenderá sobre números e métodos comuns de números. Estes incluem <code>isNaN()</code>, <code>parseInt()</code>, <code>parseFloat()</code> e <code>toFixed()</code>."
        ]
      },
      "review-javascript-math": {
        "title": "Revisão sobre Math em JavaScript",
        "intro": [
          "Antes de ser questionado sobre o uso do objeto <code>Math</code>, você deve revisar o que aprendeu.",
          "Abra esta página para revisar como trabalhar com o método <code>Math.random()</code>, o método <code>Math.floor()</code> e mais."
        ]
      },
      "quiz-javascript-math": {
        "title": "Questionário sobre Math em JavaScript",
        "intro": [
          "Teste seu conhecimento sobre o objeto <code>Math</code> do JavaScript com este questionário."
        ]
      },
      "lecture-understanding-comparisons-and-conditionals": {
        "title": "Compreendendo Comparações e Condicionais",
        "intro": [
          "Nestas aulas, você aprenderá sobre operadores de comparação e condicionais. Você aprenderá como diversos condicionais diferem entre si e como comparações funcionam com <code>null</code> e <code>undefined</code>."
        ]
      },
      "review-javascript-comparisons-and-conditionals": {
        "title": "Revisão sobre Comparações e Condicionais em JavaScript",
        "intro": [
          "Antes de ser testado sobre o trabalho com condicionais, você deve revisar o que aprendeu sobre eles.",
          "Abra esta página para revisar como trabalhar com instruções <code>switch</code>, outros tipos de condicionais e mais."
        ]
      },
      "quiz-javascript-comparisons-and-conditionals": {
        "title": "Questionário sobre Comparações e Condicionais em JavaScript",
        "intro": [
          "Teste seu conhecimento sobre comparações e condicionais em JavaScript com este questionário."
        ]
      },
      "lecture-working-with-functions": {
        "title": "Trabalhando com Funções",
        "intro": [
          "Nestas aulas, você aprenderá a 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 <code>if</code> e sobre como usar operadores de comparação e várias condições em uma instrução <code>if</code>."
        ]
      },
      "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": [
          "Nestas aulas, 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ê revisará como adicionar e remover elementos de um array usando métodos como <code>push</code>, <code>pop</code>, <code>shift</code> e <code>unshift</code>."
        ]
      },
      "lab-lunch-picker-program": {
        "title": "Crie um Programa de Seleção de Almoço",
        "intro": [
          "Neste laboratório, você revisará o trabalho com arrays e números aleatórios criando um programa de seleção de almoço."
        ]
      },
      "lab-golf-score-translator": {
        "title": "Crie um Tradutor de Pontuação de Golfe",
        "intro": [
          "Para este laboratório, você utilizará métodos de array para traduzir pontuações de golfe para seus apelidos."
        ]
      },
      "lecture-working-with-common-array-methods": {
        "title": "Trabalhando com Métodos Comuns de Array",
        "intro": [
          "Nestes cursos, você 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 questionado sobre arrays em JavaScript, você deve revisar o que aprendeu sobre eles.",
          "Abra esta página para revisar conceitos como destruiçã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": [
          "Nestas lições, 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."
        ]
      },
      "workshop-wildlife-tracker": {
        "title": "Crie um Rastreador de Vida Selvagem",
        "intro": [
          "Neste workshop, você criará um Rastreador de Vida Selvagem simples usando objetos JavaScript.",
          "Você praticará criar objetos, acessar e atualizar propriedades, remover propriedades, verificar a existência de propriedades e trabalhar com notação de colchete."
        ]
      },
      "lab-cargo-manifest-validator": {
        "title": "Crie um Validador de Manifesto de Carga",
        "intro": [
          "Neste laboratório, você usará JavaScript para normalizar e validar manifestos de carga."
        ]
      },
      "lecture-working-with-json": {
        "title": "Trabalhando com JSON",
        "intro": [
          "Nestas lições, você aprenderá sobre a Notação de Objeto JavaScript (JSON), incluindo como acessar dados JSON e usar os métodos <code>JSON.parse()</code> e <code>JSON.stringify()</code>."
        ]
      },
      "lecture-working-with-optional-chaining-and-object-destructuring": {
        "title": "Trabalhando com Encadeamento Opcional e Desestruturação de Objetos",
        "intro": [
          "Nestas lições, 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."
        ]
      },
      "workshop-recipe-tracker": {
        "title": "Crie um Rastreador de Receitas",
        "intro": [
          "Neste workshop, você revisará o trabalho com objetos JavaScript criando um rastreador 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á o uso de funções para selecionar aleatoriamente uma pergunta e uma resposta de um array e compará-las."
        ]
      },
      "lab-record-collection": {
        "title": "Crie 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 fazer o questionário sobre objetos em JavaScript, você deve revisar o que aprendeu sobre eles.",
          "Abra esta página para revisar conceitos 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, como eles funcionam e também como a iteração funciona."
        ]
      },
      "workshop-word-counter": {
        "title": "Crie um Contador de Palavras",
        "intro": [
          "Neste workshop, você praticará o uso de laços <code>for...of</code> criando uma função que conta as ocorrências de uma string em um array de strings."
        ]
      },
      "workshop-sentence-analyzer": {
        "title": "Crie um Analisador de Frases",
        "intro": [
          "Neste workshop, você revisará como trabalhar com laços em JavaScript desenvolvendo um aplicativo de análise de frases."
        ]
      },
      "workshop-space-mission-roster": {
        "title": "Crie uma Lista de Missão Espacial",
        "intro": [
          "Neste workshop, você usará laços em JavaScript para criar uma lista de missões espaciais."
        ]
      },
      "workshop-heritage-library-catalog": {
        "title": "Crie um Catálogo para Biblioteca Patrimonial",
        "intro": [
          "Neste workshop, você digitalizará fichas de catálogo históricas para uma biblioteca patrimonial.",
          "Você praticará o uso de laços, objetos e métodos de string para analisar dados de texto bruto, pesquisar e agrupar entradas, exibir saída formatada e exportar para JSON e CSV."
        ]
      },
      "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á o uso de 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á iterar sobre duas strings diferentes para comparar seus caracteres."
        ]
      },
      "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 busca informações de perfil."
        ]
      },
      "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 número específico de vezes."
        ]
      },
      "workshop-festival-crowd-flow-simulator": {
        "title": "Crie um Simulador de Fluxo de Público para Festival",
        "intro": [
          "Neste workshop, você usará JavaScript para simular o fluxo de participantes em um festival de música."
        ]
      },
      "lab-missing-letter-detector": {
        "title": "Crie um Detector de Letras Faltantes",
        "intro": [
          "Neste laboratório, você construirá uma função que encontra a letra faltante em um intervalo dado de letras consecutivas e a retorna."
        ]
      },
      "lab-smart-pantry-restocker": {
        "title": "Build a Smart Pantry Restocker",
        "intro": [
          "In this lab, you will build a small pantry management program using basic JavaScript concepts like arrays, objects, loops, and conditionals."
        ]
      },
      "lab-proofreading-tool": {
        "title": "Build a Proofreading Tool",
        "intro": [
          "In this lab, you will build a proofreading tool that analyzes arrays of words for palindromes and repeated phrases.",
          "You will practice for loops and nested loops to check palindromes and find repeated word sequences."
        ]
      },
      "review-javascript-loops": {
        "title": "Revisão sobre Laços em JavaScript",
        "intro": [
          "Antes de fazer o questionário sobre os diferentes tipos de laços no JavaScript, você deve revisá-los.",
          "Abra esta página para revisar o laço <code>for...of</code>, o laço <code>while</code>, instruções <code>break</code> e <code>continue</code>, 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": [
          "Nestas lições, você aprenderá sobre objetos string, o método <code>toString()</code>, o construtor <code>Number</code> e mais."
        ]
      },
      "lecture-working-with-arrays-variables-and-naming-practices": {
        "title": "Trabalhando com Arrays, Variáveis e Práticas de Nomeação",
        "intro": [
          "Nestas lições, 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": [
          "Nestas lições, você aprenderá sobre o que são linters e formatadores, o que é gerenciamento de memória e closures."
        ]
      },
      "lab-reverse-a-string": {
        "title": "Crie um Inversor de Strings",
        "intro": [
          "Neste laboratório, você criará uma função que inverte uma string fornecida."
        ]
      },
      "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 encontre o maior número em cada sub-vetor 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 em que passa por um \"teste de veracidade\"."
        ]
      },
      "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 um Aplicativo de Quadro de Notas",
        "intro": [
          "Para este laboratório, você criará um aplicativo de quadro de notas.",
          "Você praticará condicionais para determinar a nota do aluno com base na sua pontuação."
        ]
      },
      "lecture-the-var-keyword-and-hoisting": {
        "title": "A Palavra-Chave var e Elevação",
        "intro": [
          "Nestes cursos, você aprenderá sobre a palavra-chave <code>var</code> e por que não é 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ê construirá 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 do JavaScript para gerir o inventário."
        ]
      },
      "lecture-understanding-modules-imports-and-exports": {
        "title": "Compreendendo Módulos, Importações e Exportações",
        "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 <code>arguments</code> 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á um aplicativo gerador de senhas baseado 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 que soma todos os números. Este algoritmo pega um array de dois números e retorna a soma desses 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 entidades HTML correspondentes."
        ]
      },
      "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 Pula-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-playlist-remix-engine": {
        "title": "Crie um Motor de Remix de Playlist",
        "intro": [
          "Neste laboratório, você criará um motor de remix de playlist usando arrays em JavaScript.",
          "Você aplicará métodos e lógica de arrays para transformar dados e gerar um cronograma final de remix."
        ]
      },
      "review-javascript-fundamentals": {
        "title": "Revisão dos Fundamentos do 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 os Fundamentos do JavaScript",
        "intro": [
          "Teste seu conhecimento sobre os fundamentos do JavaScript com este questionário."
        ]
      },
      "lecture-working-with-higher-order-functions-and-callbacks": {
        "title": "Trabalhando com Funções de Ordem Superior e Callbacks",
        "intro": [
          "Nestas lições, você aprenderá como trabalhar com funções de ordem superior e callbacks. As funções de ordem superior que você aprenderá incluem <code>map()</code>, <code>filter()</code>, <code>reduce()</code>, <code>sort()</code>, <code>every()</code> e <code>some()</code>. 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 que soma todos os números primos até um determinado 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 questionado 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 <code>map()</code>, <code>filter()</code> e <code>reduce()</code>."
        ]
      },
      "quiz-javascript-higher-order-functions": {
        "title": "Questionário sobre Funções de Ordem Superior em JavaScript",
        "intro": [
          "Teste o que você aprendeu 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 <code>addEventListener()</code> 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 <code>querySelector</code> e <code>querySelectorAll</code>."
        ]
      },
      "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": "Compreensão do 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": "Crie 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 <code>input</code> 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, tratamento de eventos e filtragem de dados para construir um conjunto de cartões de equipe de futebol."
        ]
      },
      "review-dom-manipulation-and-click-events-with-javascript": {
        "title": "Revisão sobre a Manipulação do DOM e Eventos de Clique com 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 <code>DOM</code>, <code>APIs da Web</code>, o método <code>addEventListener()</code>, 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 com 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 <code>aria-expanded</code>, <code>aria-live</code> 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 exibirá 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 anotações acessível.",
          "Isso proporcionará a oportunidade de praticar o uso do atributo <code>aria-live</code>."
        ]
      },
      "lab-theme-switcher": {
        "title": "Crie um Alternador de Temas",
        "intro": [
          "Neste laboratório, você criará um alternador de temas e praticará com os atributos <code>aria-haspopup</code>, <code>aria-expanded</code> e <code>aria-controls</code>."
        ]
      },
      "review-js-a11y": {
        "title": "Revisão de JavaScript e Acessibilidade",
        "intro": [
          "Antes de ser testado sobre JavaScript e acessibilidade, você deve revisar o que aprendeu sobre isso.",
          "Abra esta página para revisar conceitos incluindo como trabalhar com os atributos <code>aria-expanded</code>, <code>aria-live</code> e <code>aria-controls</code>."
        ]
      },
      "quiz-js-a11y": {
        "title": "Questionário de 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": "Depure um 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 <code>instrução throw</code>, <code>try...catch...finally</code> 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, retro-referê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 palavra fornecida é um palíndromo."
        ]
      },
      "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 previsões, previsões reversas, 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."
        ]
      },
      "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."
        ]
      },
      "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 <code>preventDefault()</code> 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 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 <code>addEventListener()</code> 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 <code>preventDefault()</code>, 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 <code>Date()</code> 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 <code>Audio</code> e <code>Video</code>, seus métodos e propriedades, formatos de áudio e vídeo, codecs, a API <code>HTMLMediaElement</code> 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."
        ]
      },
      "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 <code>Audio</code>, a API <code>HTMLMediaElement</code> 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."
        ]
      },
      "lab-drum-machine": {
        "title": "Crie uma Bateria Eletrônica",
        "intro": [
          "Para este laboratório, você usará o elemento <code>audio</code> para criar uma bateria eletrônica."
        ]
      },
      "lecture-working-with-maps-and-sets": {
        "title": "Trabalhando com Maps e Sets",
        "intro": [
          "Nestes ensinamentos, você aprenderá sobre JavaScript <code>Map</code> e <code>Set</code>. Você também aprenderá como ambos diferem de <code>WeakSets</code> e <code>WeakMaps</code>."
        ]
      },
      "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."
        ]
      },
      "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 <code>Map</code> e <code>Set</code>, 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."
        ]
      },
      "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 <code>Map</code> para armazenar pares de chave-valor e o objeto <code>Set</code> para armazenar valores únicos."
        ]
      },
      "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 <code>localStorage</code> e <code>sessionStorage</code> junto com seus métodos e propriedades, cookies, a API do Cache, IndexDB, e muito mais."
        ]
      },
      "workshop-todo-app": {
        "title": "Crie um App de Lista de Tarefas usando Armazenamento Local",
        "intro": [
          "O armazenamento local é um recurso do navegador da web que permite que aplicações web armazenem 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 em uma sessão de página posterior.",
          "Neste workshop, você aprenderá a manipular entradas de formulário, 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 <code>localStorage</code>, você primeiro precisa revisar os conceitos.",
          "Abra esta página para revisar a propriedade <code>localStorage</code>, a propriedade <code>sessionStorage</code> 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 <code>this</code>, 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ê construirá 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."
        ]
      },
      "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 <code>this</code>, 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."
        ]
      },
      "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."
        ]
      },
      "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-countup": {
        "title": "Crie uma Contagem Crescente",
        "intro": [
          "Neste workshop, você criará uma função de contagem que retorna um array de números em contagem crescente de 1 até um número dado."
        ]
      },
      "lab-countdown": {
        "title": "Crie uma contagem regressiva",
        "intro": [
          "Para este laboratório, você criará uma função de contagem regressiva que retorna um conjunto de números em contagem regressiva de um número dado até o número 1."
        ]
      },
      "lab-range-of-numbers": {
        "title": "Crie um Gerador de Intervalo de Números",
        "intro": [
          "Neste laboratório, você usará recursão para gerar um array de números dentro de um intervalo especificado.",
          "Você praticará chamadas de função recursivas, casos base e a construção de arrays por recursão."
        ]
      },
      "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 sub-problemas mais simples, até que eles se tornem fáceis de 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ção",
        "intro": [
          "Neste laboratório, você criará um gerador de permutação que produz todas as permutações possíveis de uma string fornecida."
        ]
      },
      "review-recursion": {
        "title": "Revisão sobre Recursão",
        "intro": [
          "Antes de ser questionado 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-working-with-common-data-structures-js": {
        "title": "Trabalhando com Estruturas de Dados Comuns",
        "intro": [
          "Aprenda sobre estruturas de dados comuns e como trabalhar com elas em JavaScript."
        ]
      },
      "workshop-linked-list-js": {
        "title": "Construa uma Lista Ligada",
        "intro": [
          "Nas aulas anteriores, você aprendeu sobre algumas estruturas de dados comuns.",
          "Neste workshop, você criará uma lista ligada usando JavaScript."
        ]
      },
      "lab-linked-list-operations": {
        "title": "Implemente Operações de Lista Ligada",
        "intro": [
          "Neste laboratório você implementará operações comuns em listas ligadas, como inserção, exclusão e percorrimento."
        ]
      },
      "lab-implement-a-stack": {
        "title": "Implementar uma Pilha",
        "intro": [
          "Neste laboratório, você implementará uma estrutura de dados de pilha usando funções."
        ]
      },
      "lab-implement-a-queue": {
        "title": "Implemente uma Fila",
        "intro": [
          "Neste laboratório, você implementará uma estrutura de dados fila usando funções."
        ]
      },
      "review-data-structures-js": {
        "title": "Revisão de Estruturas de Dados",
        "intro": [
          "Antes de fazer um questionário 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, análise de complexidade de tempo e espaço, e notação big O."
        ]
      },
      "quiz-data-structures-js": {
        "title": "Questionário sobre Estruturas de Dados",
        "intro": [
          "Teste o que você aprendeu sobre estruturas de dados em JavaScript com este questionário."
        ]
      },
      "lecture-introduction-to-common-searching-and-sorting-algorithms": {
        "title": "Introdução aos Algoritmos Comuns 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 fusão.",
          "Estas lições abrangem implementações de algoritmos, análise de complexidade de tempo e espaço e o paradigma de programação de dividir e conquistar."
        ]
      },
      "workshop-binary-search-js": {
        "title": "Implemente o Algoritmo de Busca Binária",
        "intro": [
          "O algoritmo de busca binária é um algoritmo de busca 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'."
        ]
      },
      "workshop-merge-sort-js": {
        "title": "Implemente o Algoritmo de Ordenação por Fusão",
        "intro": [
          "O algoritmo de ordenação por fusão é um algoritmo de ordenação baseado no princípio de dividir e conquistar.",
          "Neste workshop, você implementará o algoritmo de ordenação por fusão para ordenar uma lista de números aleatórios."
        ]
      },
      "lab-bubble-sort-algorithm": {
        "title": "Implemente o Algoritmo Bubble Sort",
        "intro": [
          "Neste laboratório, você implementará o algoritmo bubble sort para ordenar um array de inteiros em ordem crescente."
        ]
      },
      "lab-selection-sort-js": {
        "title": "Implementar o Algoritmo de Ordenação por Seleção",
        "intro": [
          "Neste laboratório você implementará o algoritmo de ordenação por seleção."
        ]
      },
      "lab-insertion-sort": {
        "title": "Implementar a Ordenação por Inserção",
        "intro": [
          "Neste laboratório, você implementará o algoritmo insertion sort para ordenar um array de inteiros em ordem crescente."
        ]
      },
      "lab-quicksort-js": {
        "title": "Implementar o Algoritmo Quicksort",
        "intro": [
          "Neste laboratório você implementará o algoritmo quicksort para ordenar um array de inteiros."
        ]
      },
      "review-searching-and-sorting-algorithms-js": {
        "title": "Revisão de Algoritmos de Busca e Ordenação",
        "intro": [
          "Antes de ser avaliado sobre algoritmos, você deve revisar o que aprendeu sobre algoritmos de busca e ordenação."
        ]
      },
      "quiz-searching-and-sorting-algorithms-js": {
        "title": "Questionário sobre Algoritmos de Busca e Ordenação",
        "intro": [
          "Teste o que você aprendeu sobre algoritmos de busca e ordenação com este questionário."
        ]
      },
      "lecture-understanding-graphs-and-trees-js": {
        "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-js": {
        "title": "Implementar o Algoritmo do Caminho Mais Curto",
        "intro": [
          "O algoritmo do caminho mais curto encontra a distância mínima entre nós em um grafo ponderado.",
          "Neste workshop, você implementará o algoritmo do caminho mais curto em JavaScript e retornará tanto as menores distâncias quanto os caminhos percorridos."
        ]
      },
      "lab-adjacency-list-to-matrix-converter-js": {
        "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 em lista de adjacência de um grafo para uma representação em matriz de adjacência."
        ]
      },
      "workshop-breadth-first-search-js": {
        "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-js": {
        "title": "Implemente o Algoritmo de Busca em Profundidade",
        "intro": [
          "Neste laboratório, você implementará uma solução para o algoritmo de busca em profundidade."
        ]
      },
      "lab-n-queens-problem-js": {
        "title": "Implemente o Problema das N Rainhas",
        "intro": [
          "Neste laboratório, você implementará uma solução para o Problema das N Rainhas."
        ]
      },
      "review-graphs-and-trees-js": {
        "title": "Revisão de Grafos e Árvores",
        "intro": [
          "Revisão de Grafos e Árvores",
          "Antes de ser avaliado sobre grafos e árvores, você deve revisar o que aprendeu."
        ]
      },
      "quiz-graph-and-trees-js": {
        "title": "Questionário sobre Grafos e Árvores",
        "intro": [
          "Questionário sobre Grafos e Árvores",
          "Teste o que você aprendeu sobre grafos e árvores com este questionário."
        ]
      },
      "lecture-understanding-dynamic-programming-js": {
        "title": "Compreendendo 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-js": {
        "title": "Crie um Calculador do enésimo Número de Fibonacci",
        "intro": [
          "Neste laboratório, você praticará programação dinâmica implementando um calculador de sequência de Fibonacci em JavaScript."
        ]
      },
      "review-dynamic-programming-js": {
        "title": "Revisão de Programação Dinâmica",
        "intro": [
          "Antes de fazer um questionário sobre programação dinâmica, você deve revisar o que aprendeu sobre o assunto."
        ]
      },
      "quiz-dynamic-programming-js": {
        "title": "Questionário sobre Programação Dinâmica",
        "intro": [
          "Teste o que você aprendeu sobre programação dinâmica em JavaScript com este questionário."
        ]
      },
      "lecture-understanding-functional-programming": {
        "title": "Compreendendo Programação Funcional ",
        "intro": [
          "Nestas lições, 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-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."
        ]
      },
      "lab-sorting-visualizer": {
        "title": "Crie um Visualizador de Ordenação",
        "intro": [
          "Neste laboratório, você usará JavaScript para visualizar os passos que o algoritmo Bubble Sort faz para reordenar um array de inteiros."
        ]
      },
      "review-javascript-functional-programming": {
        "title": "Revisão sobre Programação Funcional em JavaScript",
        "intro": [
          "Antes de ser questionado 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 <code>async</code> funciona, a API <code>Fetch</code>, promessas, <code>async/await</code>, a API <code>Geolocation</code>, 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."
        ]
      },
      "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."
        ]
      },
      "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-javascript": {
        "title": "Revisão de 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."
        ]
      },
      "exam-javascript-certification": {
        "title": "Exame de Certificação de JavaScript",
        "intro": [
          "Passe neste exame para conquistar a certificação de JavaScript."
        ]
      }
    }
  },
  "front-end-development-libraries-v9": {
    "title": "Certificação de Bibliotecas de Desenvolvimento Front-End",
    "intro": [
      "Este curso ensina as bibliotecas que os desenvolvedores utilizam para criar páginas da web: React, TypeScript, e mais.",
      "Para conquistar sua Certificação de Bibliotecas de Desenvolvimento Front-End:",
      "- Complete os cinco projetos obrigatórios para se qualificar para o exame de certificação.",
      "- Passe no exame de Certificação de Bibliotecas de Desenvolvimento Front-End."
    ],
    "note": "",
    "chapters": {
      "front-end-development-libraries": "Bibliotecas de Desenvolvimento Front-End",
      "front-end-development-libraries-certification-exam": "Exame de Certificação de Bibliotecas de Desenvolvimento Front-End"
    },
    "modules": {
      "react-fundamentals": "Fundamentos do React",
      "react-state-hooks-and-routing": "Estado, Hooks e Roteamento no React",
      "lab-currency-converter": "Crie um Conversor de Moedas",
      "lab-tic-tac-toe": "Crie um Jogo da Velha",
      "performance": "Desempenho",
      "testing": "Testes",
      "css-libraries-and-frameworks": "Bibliotecas e Frameworks do CSS",
      "lab-photography-exhibit": "Design a Photography Exhibit",
      "typescript-fundamentals": "Fundamentos do TypeScript",
      "lab-flashcard-quiz-app": "Build a Flashcard Quiz App",
      "lab-digital-pet-game": "Build a Digital Pet Game",
      "data-visualization": "Visualização de dados e D3",
      "review-front-end-libraries": "Revisão sobre bibliotecas Front-end",
      "front-end-development-libraries-certification-exam": "Exame de Certificação de Bibliotecas de Desenvolvimento Front-End"
    },
    "module-intros": {
      "typescript-fundamentals": {
        "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."
        ]
      },
      "data-visualization": {
        "note": "Próximo Lançamento: 2026",
        "intro": [
          "Neste módulo, você conhecerá a visualização de dados e aprenderá a trabalhar com a biblioteca D3."
        ]
      },
      "front-end-development-libraries-certification-exam": {
        "note": "Próximo Lançamento: 2026",
        "intro": [
          "Passe neste exame para conquistar a Certificação de Bibliotecas de Desenvolvimento Front-End."
        ]
      }
    },
    "blocks": {
      "lecture-introduction-to-javascript-libraries-and-frameworks": {
        "title": "Introdução às Bibliotecas e Frameworks JavaScript",
        "intro": [
          "Nestas lições, 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 <code>props</code> 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 <code>useState()</code> 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 <code>useEffect()</code> 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 <code>useState</code> e <code>useEffect</code> 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 <code>useMemo()</code> e <code>useCallback()</code> 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."
        ]
      },
      "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."
        ]
      },
      "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."
        ]
      },
      "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."
        ]
      },
      "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-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 cursos, você aprenderá sobre os diferentes tipos de testes."
        ]
      },
      "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 mais."
        ]
      },
      "quiz-testing": {
        "title": "Questionário de 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 cursos, você aprenderá como trabalhar com bibliotecas e frameworks de 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 de 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á a utilização das classes utilitárias de grid 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 muito mais."
        ]
      },
      "lab-photography-exhibit": {
        "title": "Projete uma Exposição Fotográfica",
        "intro": [
          "Neste laboratório, você praticará o trabalho com Tailwind CSS projetando uma página de exposição fotográfica."
        ]
      },
      "review-css-libraries-and-frameworks": {
        "title": "Revisão sobre Bibliotecas e Frameworks 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 cursos, você aprenderá o que é TypeScript e como usá-lo."
        ]
      },
      "workshop-type-safe-user-profile": {
        "title": "Crie um perfil de usuário com tipagem segura",
        "intro": [
          "Neste workshop, você praticará o uso de anotações de tipo, tipos de array, tipos de objeto e mais, construindo um perfil de usuário."
        ]
      },
      "workshop-type-safe-math-toolkit": {
        "title": "Crie um Kit de Ferramentas Matemáticas com Tipagem Segura",
        "intro": [
          "Neste workshop, você praticará a tipagem de funções criando um projeto de kit de ferramentas matemáticas."
        ]
      },
      "lecture-understanding-type-composition": {
        "title": "Compreendendo Composição de Tipos",
        "intro": [
          "Nestas lições, você aprenderá a trabalhar com tipos de união, interfaces, tipos void e mais."
        ]
      },
      "workshop-shape-manager": {
        "title": "Crie um Gerenciador de Formas",
        "intro": [
          "Neste workshop, você praticará recursos básicos do TypeScript, como tipos e interfaces, criando um programa gerenciador de formas."
        ]
      },
      "lab-motorcycle-shop": {
        "title": "Crie uma Loja de Motocicletas",
        "intro": [
          "Para este laboratório, você usará TypeScript para criar uma loja de motocicletas."
        ]
      },
      "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."
        ]
      },
      "workshop-bug-emoji-picker": {
        "title": "Crie um Seletor de Emojis de Insetos",
        "intro": [
          "Neste workshop, você aprenderá sobre classes abstratas e genéricos em TypeScript criando um seletor de espécies de insetos que exibe diferentes emojis de insetos."
        ]
      },
      "lab-product-showcase": {
        "title": "Crie uma Página de Produto",
        "intro": [
          "Neste laboratório, você praticará 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."
        ]
      },
      "workshop-fortune-teller-app": {
        "title": "Crie um Aplicativo de Adivinhações",
        "intro": [
          "Neste workshop, você continuará praticando o uso de TypeScript criando um aplicativo de adivinhações."
        ]
      },
      "lab-flashcard-quiz-app": {
        "title": "Crie um Aplicativo de Quiz com Flashcards",
        "intro": [
          "Neste laboratório, você praticará o uso de TypeScript criando um aplicativo de quiz com flashcards."
        ]
      },
      "lab-digital-pet-game": {
        "title": "Crie um Jogo de Bichinho Digital",
        "intro": [
          "Neste laboratório, você aplicará o que aprendeu sobre TypeScript e React ao criar um jogo de bichinho digital."
        ]
      },
      "workshop-build-a-football-player-card-builder": {
        "title": "Crie um Gerador de Cartões de Jogador de Futebol",
        "intro": [
          "Neste workshop, você aprenderá a trabalhar com React em TypeScript criando um gerador de cartões de jogador de futebol."
        ]
      },
      "review-typescript": {
        "title": "Revisão de 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."
        ]
      },
      "lecture-introduction-to-data-visualization": {
        "title": "Introdução à visualização de dados",
        "intro": [
          "Nestas aulas, você aprenderá sobre conceitos básicos de visualização de dados."
        ]
      },
      "lab-bar-chart": {
        "title": "Crie um Gráfico de Barras",
        "intro": [
          "Neste laboratório, você usará d3 para criar um gráfico de barras."
        ]
      },
      "lab-scatterplot-graph": {
        "title": "Crie um gráfico de dispersão",
        "intro": [
          "Neste laboratório você criará um gráfico de dispersão em d3 usando um conjunto de dados fornecido."
        ]
      },
      "review-front-end-libraries": {
        "title": "Revisão sobre Bibliotecas Front-end",
        "intro": [
          "Revise os conceitos de Bibliotecas Front-End para se preparar para o questionário que vem a seguir."
        ]
      },
      "exam-front-end-development-libraries-certification": {
        "title": "Exame de Certificação de Bibliotecas de Desenvolvimento Front-End",
        "intro": [
          "Passe neste exame para ganhar sua Certificação de Bibliotecas de Desenvolvimento Front-End"
        ]
      }
    }
  },
  "python-v9": {
    "title": "Certificação em Python",
    "intro": [
      "Este curso ensina os fundamentos da programação em Python.",
      "Para conquistar sua Certificação em Python:",
      "- Complete os cinco projetos obrigatórios para se qualificar para o exame de certificação.",
      "- Passe no exame de Certificação em Python."
    ],
    "chapters": {
      "python": "Python",
      "python-certification-exam": "Exame de Certificação em Python"
    },
    "modules": {
      "python-basics": "Noções básicas de Python",
      "python-installation": "Install Python",
      "python-loops-and-sequences": "Laços e Sequências",
      "python-dictionaries-and-sets": "Dicionários e Conjuntos",
      "lab-user-configuration-manager": "Crie um Gerenciador de Configurações de Usuário",
      "python-error-handling": "Tratamento de Erros",
      "python-classes-and-objects": "Classes e Objetos",
      "lab-budget-app": "Crie um Aplicativo de Orçamento",
      "python-object-oriented-programming": "Programação Orientada a Objetos (OOP)",
      "lab-polygon-area-calculator": "Crie uma Calculadora de Área de Polígonos",
      "python-linear-data-structures": "Estruturas de Dados Lineares",
      "lab-hash-table": "Crie uma Tabela Hash",
      "python-algorithms": "Algoritmos",
      "lab-tower-of-hanoi": "Implementar o Algoritmo da Torre de Hanói",
      "python-graphs-and-trees": "Grafos e Árvores",
      "python-dynamic-programming": "Programação Dinâmica",
      "review-python": "Revisão de Python",
      "python-certification-exam": "Exame de Certificação em Python"
    },
    "blocks": {
      "lecture-introduction-to-python": {
        "title": "Introdução ao Python",
        "intro": [
          "In these lessons, you will learn what Python is and common uses in the industry."
        ]
      },
      "lecture-understanding-variables-and-data-types": {
        "title": "Entendendo variáveis e tipos de dados",
        "intro": [
          "Nestas aulas, você aprenderá sobre variáveis e tipos de dados em Python."
        ]
      },
      "workshop-report-card-printer": {
        "title": "Crie uma Impressora de Boletim de Notas",
        "intro": [
          "Neste workshop, você criará uma impressora de boletim de notas para trabalhar com tipos de dados primitivos em Python."
        ]
      },
      "lecture-introduction-to-python-strings": {
        "title": "Introdução a strings",
        "intro": ["Nestas aulas, você aprenderá sobre strings em Python."]
      },
      "workshop-employee-profile-generator": {
        "title": "Crie um Gerador de Perfil de Funcionário",
        "intro": [
          "Neste workshop, você praticará os fundamentos da manipulação de strings em Python criando uma ferramenta que gera crachás de funcionários formatados e analisa códigos de funcionários."
        ]
      },
      "lecture-numbers-and-mathematical-operations": {
        "title": "Números e operações matemáticas",
        "intro": [
          "Nestas aulas, você aprenderá sobre números e operações matemáticas em Python."
        ]
      },
      "workshop-bill-splitter": {
        "title": "Crie um Divisor de Conta",
        "intro": [
          "Neste workshop você criará um divisor de conta para praticar trabalhar com números e operações matemáticas em Python"
        ]
      },
      "lecture-booleans-and-conditionals": {
        "title": "Booleanos e condicionais",
        "intro": [
          "Nestas aulas, você aprenderá sobre booleanos e condicionais em Python."
        ]
      },
      "workshop-movie-ticket-booking-calculator": {
        "title": "Crie uma Calculadora de Reserva de Ingressos de Cinema",
        "intro": [
          "Neste workshop, você praticará o uso de booleanos e instruções condicionais em Python criando uma calculadora de reserva de ingressos de cinema."
        ]
      },
      "lab-travel-weather-planner": {
        "title": "Crie um Planejador de Clima para Viagens",
        "intro": [
          "Neste laboratório, você criará um planejador de clima para viagens usando condicionais."
        ]
      },
      "lecture-understanding-functions-and-scope": {
        "title": "Entendendo funções e escopo",
        "intro": [
          "Nestas aulas, você aprenderá sobre funções e escopo em Python."
        ]
      },
      "lab-discount-calculator": {
        "title": "Crie uma função para aplicar desconto",
        "intro": [
          "Neste laboratório, você praticará Python básico criando uma calculadora para aplicar um desconto a um preço."
        ]
      },
      "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-python-installation": {
        "title": "Installing Python and Running Code Locally",
        "intro": [
          "In these lessons, you will learn how to install Python on your local device and run code locally."
        ]
      },
      "review-python-installation": {
        "title": "Python Installation Review",
        "intro": [
          "Before you are quizzed on working with Python locally, you should review the concepts covered in the lessons."
        ]
      },
      "quiz-python-installation": {
        "title": "Python Installation Quiz",
        "intro": [
          "Test what you've learned about installing Python locally with this quiz."
        ]
      },
      "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."
        ]
      },
      "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."
        ]
      },
      "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."
        ]
      },
      "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 envio, recebimento e gerenciamento de e-mails entre diferentes usuários."
        ]
      },
      "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."
        ]
      },
      "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."
        ]
      },
      "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 Monitor de Salários",
        "intro": [
          "Neste workshop, você praticará encapsulamento, propriedades e outros conceitos de POO, criando um sistema de rastreamento de salários para empregados."
        ]
      },
      "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 nessas 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."
        ]
      },
      "lecture-understanding-abstraction": {
        "title": "Compreendendo a Abstração",
        "intro": ["Aprenda sobre a Compreensão da Abstração nessas 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 <code>abc</code> para criar uma interface do jogador."
        ]
      },
      "review-object-oriented-programming": {
        "title": "Revisão sobre Programação Orientada a Objetos",
        "intro": [
          "Antes de fazer um questionário sobre programação orientada a objetos, você deve revisar o que aprendeu sobre o assunto."
        ]
      },
      "quiz-object-oriented-programming": {
        "title": "Questionário sobre Programação Orientada a Objetos",
        "intro": [
          "Teste o que você aprendeu sobre programação orientada a objetos em Python com este questionário."
        ]
      },
      "lab-polygon-area-calculator": {
        "title": "Crie uma Calculadora de Área de Polígonos",
        "intro": [
          "Neste laboratório, você usará a programação orientada a objetos para calcular as áreas de diferentes polígonos, como quadrados e retângulos."
        ]
      },
      "lecture-working-with-common-data-structures": {
        "title": "Trabalhando com Estruturas de Dados Comuns",
        "intro": [
          "Aprenda sobre Trabalhar com Estruturas de Dados Comuns nessas lições."
        ]
      },
      "workshop-linked-list-class": {
        "title": "Construa uma Lista Ligada",
        "intro": [
          "Neste workshop, você praticará trabalhando com estruturas de dados criando uma lista ligada."
        ]
      },
      "review-data-structures": {
        "title": "Revisão de Estruturas de Dados",
        "intro": [
          "Antes de fazer um questionário 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, análise de complexidade de tempo e espaço, e notação big O."
        ]
      },
      "quiz-data-structures": {
        "title": "Questionário sobre Estruturas de Dados",
        "intro": [
          "Teste o que você aprendeu sobre estruturas de dados em Python com este questionário."
        ]
      },
      "lab-hash-table": {
        "title": "Crie uma Tabela Hash",
        "intro": [
          "Uma tabela hash é uma estrutura de dados usada para armazenar pares de chave e valor e é otimizada para pesquisas rápidas.",
          "Neste laboratório, você usará seus conhecimentos sobre estruturas de dados para criar uma tabela hash."
        ]
      },
      "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 fusão.",
          "Estas lições abrangem implementações de algoritmos, análise de complexidade de tempo e espaço e o paradigma de programação de dividir e conquistar."
        ]
      },
      "workshop-binary-search": {
        "title": "Implemente o Algoritmo de Busca Binária",
        "intro": [
          "O algoritmo de busca binária é um algoritmo de busca 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 Fusão",
        "intro": [
          "O algoritmo de ordenação por fusão é um algoritmo de ordenação baseado no princípio de dividir e conquistar.",
          "Neste workshop, você implementará o algoritmo de ordenação por fusão para ordenar uma lista de números aleatórios."
        ]
      },
      "lab-quicksort": {
        "title": "Implemente 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."
        ]
      },
      "review-searching-and-sorting-algorithms": {
        "title": "Revisão de Algoritmos de Busca e Ordenação",
        "intro": [
          "Antes de fazer um questionário sobre algoritmos de busca e ordenação, você deve revisar o que aprendeu sobre o assunto."
        ]
      },
      "quiz-searching-and-sorting-algorithms": {
        "title": "Questionário sobre 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."
        ]
      },
      "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."
        ]
      },
      "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á um algoritmo 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 grafo 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 das N Rainhas",
        "intro": [
          "Neste laboratório, você implementará uma solução para o Problema das N Rainhas."
        ]
      },
      "review-graphs-and-trees": {
        "title": "Revisão de Grafos e Árvores",
        "intro": [
          "Antes de fazer um questionário sobre grafos 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 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 de Fibonacci usando uma abordagem de programação dinâmica."
        ]
      },
      "review-dynamic-programming": {
        "title": "Revisão de Programação Dinâmica",
        "intro": [
          "Antes de fazer um questionário sobre programação dinâmica, você deve revisar o que aprendeu sobre o assunto."
        ]
      },
      "quiz-dynamic-programming": {
        "title": "Questionário sobre 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 os conceitos de Python para se preparar para o próximo exame."
        ]
      },
      "exam-python-certification": {
        "title": "Exame de Certificação em Python",
        "intro": ["Passe neste exame para ganhar sua Certificação em Python"]
      }
    }
  },
  "relational-databases-v9": {
    "title": "Certificação de Bancos de Dados Relacionais",
    "intro": [
      "Este curso ensina os fundamentos dos bancos de dados relacionais.",
      "Para conquistar sua Certificação de Bancos de Dados Relacionais:",
      "- Complete os cinco projetos obrigatórios para se qualificar para o exame de certificação.",
      "- Passe no exame de Certificação de Bancos de Dados Relacionais."
    ],
    "chapters": {
      "relational-databases": "Bancos de Dados Relacionais",
      "relational-databases-certification-exam": "Exame de Certificação de Bancos de Dados Relacionais"
    },
    "modules": {
      "code-editors": "Editores de Código",
      "bash-fundamentals": "Fundamentos de Bash",
      "sql-and-postgresql": "SQL e PostgreSQL",
      "lab-celestial-bodies-database": "Crie um Banco de Dados de Corpos Celestiais",
      "bash-scripting": "Scripts Bash",
      "sql-and-bash": "SQL e Bash",
      "lab-world-cup-database": "Crie um Banco de Dados da Copa do Mundo",
      "lab-salon-appointment-scheduler": "Crie um Agendador de Compromissos do Salão",
      "git": "Git",
      "lab-periodic-table-database": "Crie um Banco de Dados da Tabela Periódica",
      "lab-number-guessing-game": "Crie um Jogo de Adivinhação de Números",
      "review-relational-databases": "Revisão de Bancos de Dados Relacionais",
      "relational-databases-certification-exam": "Exame de Certificação de Bancos de Dados Relacionais"
    },
    "blocks": {
      "lecture-working-with-code-editors-and-ides": {
        "title": "Trabalhando com Editores de Código e IDEs",
        "intro": [
          "Nessas 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-understanding-the-command-line-and-working-with-bash": {
        "title": "Compreendendo a Linha de Comando e Trabalhando com Bash",
        "intro": [
          "Aprenda sobre a Linha de Comando e Trabalhar com Bash nessas 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 um boilerplate de site usando apenas a linha de comando."
        ]
      },
      "review-bash-commands": {
        "title": "Revisão sobre Comandos do Bash",
        "intro": [
          "Revise os conceitos sobre Comandos Bash para se preparar para o próximo questionário."
        ]
      },
      "quiz-bash-commands": {
        "title": "Questionário sobre Comandos do 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 nessas 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."
        ]
      },
      "review-sql-and-postgresql": {
        "title": "Revisão sobre SQL e PostgreSQL",
        "intro": [
          "Revise conceitos de SQL e PostgreSQL para se preparar para o próximo questionário."
        ]
      },
      "quiz-sql-and-postgresql": {
        "title": "Questionário sobre SQL e PostgreSQL",
        "intro": [
          "Teste o que você aprendeu sobre SQL e PostgreSQL com este questionário."
        ]
      },
      "lab-celestial-bodies-database": {
        "title": "Crie um Banco de Dados de Corpos Celestiais",
        "intro": [
          "Para este projeto, você criará um banco de dados de corpos celestiais usando PostgreSQL."
        ]
      },
      "lecture-understanding-bash-scripting": {
        "title": "Compreendendo Scripts em Bash",
        "intro": ["Aprenda sobre Scripts em Bash nessas lições."]
      },
      "workshop-bash-five-programs": {
        "title": "Crie Cinco Programas",
        "intro": [
          "Scripts 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 Bash, criando cinco programas pequenos."
        ]
      },
      "review-bash-scripting": {
        "title": "Revisão sobre Scripts 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 Bash",
        "intro": [
          "Teste o que você aprendeu sobre scripts do Bash neste questionário."
        ]
      },
      "lecture-working-with-sql": {
        "title": "Trabalhando com SQL",
        "intro": [
          "Nessas lições, 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": [
          "SQL, ou Linguagem de Consulta Estruturada, é a linguagem para 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."
        ]
      },
      "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 interativo de Bash que armazena informações de aluguel para sua loja de aluguel de bicicletas utilizando PostgreSQL."
        ]
      },
      "review-bash-and-sql": {
        "title": "Revisão de 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."
        ]
      },
      "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."
        ]
      },
      "lab-salon-appointment-scheduler": {
        "title": "Crie um Agendador de Compromissos do Salão",
        "intro": [
          "Para este laboratório, você criará um programa interativo Bash que usa PostgreSQL para acompanhar os clientes e compromissos do seu salão."
        ]
      },
      "lecture-working-with-nano": {
        "title": "Trabalhando com o Nano",
        "intro": ["Aprenda sobre o Nano nesta lição."]
      },
      "workshop-castle": {
        "title": "Crie um Castelo",
        "intro": [
          "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 enquanto cria um castelo."
        ]
      },
      "lecture-introduction-to-git-and-github": {
        "title": "Introdução ao Git e GitHub",
        "intro": ["Aprenda a 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ções, implantação e CI/CD nestas lições."
        ]
      },
      "workshop-sql-reference-object": {
        "title": "Crie um Objeto de Referência SQL",
        "intro": [
          "Git é um sistema de controle de versão que rastreia todas as alterações que você faz na sua base de código.",
          "Neste workshop de 240 aulas, você aprenderá como o Git mantém o controle de seu código criando um objeto que contém comandos SQL comumente usados."
        ]
      },
      "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."
        ]
      },
      "lab-periodic-table-database": {
        "title": "Crie uma Banco de Dados de Tabela Periódica",
        "intro": [
          "Para este laboratório, você criará um script 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úmero",
        "intro": [
          "Para este laboratório, você usará scripts Bash, PostgreSQL e Git para criar um jogo de adivinhação de números que roda no terminal e salva informações do usuá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."
        ]
      },
      "exam-relational-databases-certification": {
        "title": "Exame de Certificação de Bancos de Dados Relacionais",
        "intro": [
          "Passe neste exame para ganhar sua Certificação de Bancos de Dados Relacionais"
        ]
      }
    }
  },
  "back-end-development-and-apis-v9": {
    "title": "Certificação de Desenvolvimento Back-End e APIs",
    "intro": [
      "Este curso ensina os fundamentos do Desenvolvimento Back-End e APIs.",
      "Para conquistar sua Certificação de Desenvolvimento Back-End e APIs:",
      "- Complete os cinco projetos obrigatórios para se qualificar para o exame de certificação.",
      "- Passe no exame de Certificação de Desenvolvimento Back-End e APIs."
    ],
    "note": "",
    "chapters": {
      "back-end-development-and-apis": "Desenvolvimento Back-End e APIs",
      "back-end-development-and-apis-certification-exam": "Exame de Certificação de Desenvolvimento Back-End e APIs"
    },
    "modules": {
      "introduction-to-nodejs": "Introdução a Node.js",
      "nodejs-core-modules": "Módulos principais do Node.js",
      "node-package-manager": "Gerenciador de Pacotes Node",
      "http-and-the-web-standards-model": "HTTP e o Modelo de Padrões da 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",
      "back-end-development-and-apis-certification-exam": "Exame de Certificação de Desenvolvimento Back-End e APIs"
    },
    "module-intros": {
      "introduction-to-nodejs": {
        "note": "Disponível no final de 2026",
        "intro": [
          "Neste módulo, você aprenderá o básico sobre como trabalhar com o Node.js."
        ]
      },
      "nodejs-core-modules": {
        "note": "Disponível no final de 2026",
        "intro": [
          "Neste módulo, você aprenderá sobre os módulos principais do Node.js 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 Gerenciador de Pacotes Node, que os desenvolvedores usam para gerenciar dependências de projetos e scripts. Em seguida, você praticará o que aprendeu através de workshops e laboratórios e testará seus conhecimentos 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 requisições, códigos de resposta comuns, DNS, TCP/IP, e mais. Em seguida, você praticará o que aprendeu através de um workshop para criar 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 microserviços funcionam. Em seguida, você fará um breve questionário para testar seus conhecimentos."
        ]
      },
      "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 criar 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 requisições e respostas entre o cliente e o servidor. Em seguida, você praticará suas habilidades em um workshop e laboratório e testará seus conhecimentos 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 o tratamento 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á seus conhecimentos com um breve questionário."
        ]
      },
      "websockets": {
        "note": "Próximo Lançamento: Final de 2026",
        "intro": [
          "Neste módulo, você conhecerá os WebSockets, que são um protocolo utilizado para comunicação em tempo real entre o cliente e o servidor. Em seguida, você praticará o que aprendeu em laboratórios e workshops e testará seus conhecimentos 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 seus conhecimentos."
        ]
      },
      "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, bem 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 seus conhecimentos."
        ]
      },
      "authentication": {
        "note": "Próximo Lançamento: Final de 2026",
        "intro": [
          "Neste módulo, você aprenderá como funciona a autenticação em aplicações web e 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á seus conhecimentos 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 a implantação de suas aplicações full-stack. Em seguida, fará um breve questionário para testar seu conhecimento."
        ]
      },
      "back-end-development-and-apis-certification-exam": {
        "note": "Próximo Lançamento: Final de 2026",
        "intro": [
          "Passe neste exame para ganhar sua Certificação de Desenvolvimento Back End e APIs."
        ]
      }
    },
    "blocks": {
      "lecture-working-with-nodejs-and-event-driven-architecture": {
        "title": "Trabalhando com o NodeJS e com a arquitetura orientada a eventos",
        "intro": [
          "Aprenda sobre as bibliotecas principais do Node.js, como instalar o Node.js no computador, e as vantagens e desvantagens de usar o Node.js no back-end."
        ]
      },
      "review-node-js-intro": {
        "title": "Revisão introdutória de NodeJS",
        "intro": [
          "Revise o básico do NodeJS para se preparar para o próximo questionário."
        ]
      },
      "quiz-node-js-intro": {
        "title": "Questionário introdutório de NodeJS",
        "intro": ["Teste o que você aprendeu sobre NodeJS neste questionário."]
      },
      "lecture-working-with-node-core-modules": {
        "title": "Trabalhando com Módulos Core do Node",
        "intro": [
          "Aprenda sobre os módulos core do Node.js, como fs, buffer, stream e path, e outros, para entender o que o Node oferece por padrão para criar aplicações eficientes sem depender de bibliotecas de terceiros."
        ]
      },
      "review-node-js-core-modules": {
        "title": "Revisão dos módulos principais do NodeJS",
        "intro": [
          "Revise os conceitos sobre os módulos básicos do Node JS para se preparar para o próximo questionário."
        ]
      },
      "quiz-node-js-core-modules": {
        "title": "Questionário sobre os módulos principais do NodeJS",
        "intro": [
          "Teste o que você aprendeu sobre os módulos principais do Node.js com este questionário."
        ]
      },
      "lecture-introduction-to-npm": {
        "title": "Introdução ao npm",
        "intro": [
          "Nessas lições, você aprenderá sobre o npm e como ele pode ajudar a gerenciar as dependências do projeto."
        ]
      },
      "lecture-working-with-npm-scripts": {
        "title": "Trabalhando com scripts do npm",
        "intro": [
          "Aprenda sobre scripts do npm, publicando pacotes no registro do npm e trabalhando com os módulos CommonJS e ES. Essas lições cobrem ferramentas essenciais de desenvolvimento de Node.js e os sistemas de módulos."
        ]
      },
      "review-npm": {
        "title": "Revisão do npm",
        "intro": [
          "Revise conceitos do npm para se preparar para o próximo questionário."
        ]
      },
      "quiz-npm": {
        "title": "Questionário sobre o npm",
        "intro": ["Teste o que você aprendeu sobre o npm neste questionário."]
      },
      "lecture-understanding-how-http-dns-tcpip-work": {
        "title": "Entendendo como HTTP, DNS e TCP/IP funcionam",
        "intro": [
          "Aprenda os conceitos fundamentais de como a internet funciona, com foco em HTTP, DNS e TCP/IP."
        ]
      },
      "lecture-understanding-the-http-request-response-model": {
        "title": "Compreendendo o Modelo de Requisição-Resposta HTTP",
        "intro": [
          "Aprenda os fundamentos de como a comunicação web funciona através do modelo de requisição-resposta HTTP, explore diferentes tipos de ativos e respostas web e entenda como os formulários lidam com o envio de dados usando vários métodos HTTP."
        ]
      },
      "quiz-http-and-the-web-standards-model": {
        "title": "HTTP and the Web Standards Model Quiz",
        "intro": [
          "Test your knowledge of HTTP, DNS, TCP/IP, the request-response model, and web standards.",
          ""
        ]
      },
      "lecture-understanding-rest-api-and-web-services": {
        "title": "Compreendendo REST APIs e Web Services",
        "intro": [
          "Nessas aulas, você aprenderá sobre REST APIs e web services, e como eles permitem que diferentes aplicações se comuniquem entre si através da internet."
        ]
      },
      "lecture-working-with-express": {
        "title": "Trabalhando com Express",
        "intro": [
          "Nestas aulas, você aprenderá o que é Express.js, por que desenvolvedores o usam para construir servidores web e APIs, e como configurar uma aplicação Express básica com rotas e tratamento de requisições."
        ]
      },
      "lecture-understanding-routing-in-express-js": {
        "title": "Compreendendo o Roteamento no ExpressJS",
        "intro": [
          "Compreendendo o Roteamento no ExpressJS",
          "Nestas aulas, você aprenderá sobre roteamento no ExpressJS, ou seja, como definir os diferentes endpoints da aplicação web e como eles respondem às solicitações do cliente."
        ]
      },
      "lecture-understanding-error-handling-and-health-checks": {
        "title": "Understanding Error Handling and Health Checks",
        "intro": [
          "In these lessons, you'll learn about error handling and health checks in Express."
        ]
      },
      "quiz-error-handling-in-express": {
        "title": "Error Handling in Express Quiz",
        "intro": [
          "Test your knowledge of HTTP status codes, error handling, debugging, logging, health checks, and graceful shutdowns."
        ]
      },
      "exam-back-end-development-and-apis-certification": {
        "title": "Exame de Certificação de Desenvolvimento Back-End e APIs",
        "intro": [
          "Passe neste exame para ganhar sua Certificação de Desenvolvimento Back End e APIs"
        ]
      }
    }
  },
  "full-stack-developer-v9": {
    "title": "Currículo de Desenvolvedor Full Stack Certificado",
    "intro": [
      "Esta certificação representa o culminar da sua jornada como desenvolvedor full stack. Demonstra sua capacidade de construir aplicações web completas e modernas do início ao fim.",
      "Para se qualificar para o exame, você deve obter as certificações abaixo. Passe no exame para conquistar sua Certificação de Desenvolvedor Full Stack."
    ],
    "note": "",
    "chapters": {
      "certified-full-stack-developer-exam": "Exame de Desenvolvedor Full Stack Certificado"
    },
    "modules": {
      "certified-full-stack-developer-exam": "Exame de Desenvolvedor Full Stack Certificado"
    },
    "module-intros": {
      "certified-full-stack-developer-exam": {
        "note": "Próximo Lançamento: Final de 2026",
        "intro": [
          "Este exame testará o que você aprendeu ao longo das seis certificações anteriores."
        ]
      }
    },
    "blocks": {
      "exam-certified-full-stack-developer": {
        "title": "Exame de Desenvolvedor Full Stack Certificado",
        "intro": [
          "Passe neste exame para se tornar um Desenvolvedor Full Stack Certificado."
        ]
      }
    }
  },
  "html-forms-and-tables": {
    "title": "Formulários e Tabelas",
    "summary": [
      "Aprenda a construir formulários acessíveis e tabelas de dados com HTML semântico."
    ],
    "intro": [
      "Aprenda a construir formulários acessíveis e tabelas de dados com HTML semântico.",
      "Pratique a estruturação de inputs, labels e dados tabulares para que todos possam navegar e enviar informações com confiança."
    ],
    "blocks": {
      "lecture-working-with-forms": {
        "title": "Trabalhando com Formulários",
        "intro": [
          "Nestas lições, 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 Hotel",
        "intro": [
          "Neste workshop, você construirá um Formulário de Feedback de Hotel.",
          "Você praticará o trabalho com labels, inputs, fieldsets, legends, textareas e botões."
        ]
      },
      "lecture-working-with-tables": {
        "title": "Trabalhando com Tabelas",
        "intro": [
          "Nestas lições, 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ê praticará o trabalho 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 <code>thead</code>, <code>tbody</code>, <code>th</code>, <code>tr</code> e <code>td</code>."
        ]
      },
      "lecture-working-with-html-tools": {
        "title": "Trabalhando com Ferramentas de HTML",
        "intro": [
          "Nestas lições, você aprenderá sobre ferramentas de HTML e como elas permitem que você escreva um código melhor. Estas ferramentas incluem validadores HTML, DOM Inspector e as ferramentas de desenvolvimento dos navegadores."
        ]
      },
      "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 <code>label</code>, os diferentes elementos <code>input</code>, o atributo <code>required</code> e mais "
        ]
      },
      "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 <code>table</code>, <code>input</code>, e <code>button</code>, bem como 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 concluir um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas."
        ]
      }
    }
  },
  "a1-professional-spanish": {
    "title": "Certificação de Espanhol Profissional A1 (Beta)",
    "note": "This certification is currently in active development. New content will be published as our instructional design team develops it. Once all content is available, we will release the certification exam.",
    "intro": [
      "Este curso ensina os fundamentos do espanhol ao nível A1 do Quadro Comum de Referência (CEFR), com lições focadas em configurações profissionais. Cada módulo é dividido em seções:",
      "- Uma seção de Aquecimento para uma revisão rápida.",
      "- Seções de aprendizagem com o novo vocabulário e gramática.",
      "- Seções práticas para verificar sua compreensão e habilidades de escrita.",
      "- Uma seção de revisão com gramática chave e vocabulário."
    ],
    "chapters": {
      "es-a1-chapter-welcome-to-a1-professional-spanish": "Bem-vindo ao Espanhol Profissional A1",
      "es-a1-chapter-spanish-fundamentals": "Fundamentos do Espanhol",
      "es-a1-chapter-greetings-and-introductions": "Saudações e Apresentações",
      "es-a1-chapter-basic-personal-details": "Detalhes Básicos Pessoais",
      "es-a1-chapter-describing-company-and-people": "Descrevendo uma Empresa e suas Pessoas"
    },
    "modules": {
      "es-a1-module-introduction-and-certification-overview": "Introdução e Visão Geral da Certificação",
      "es-a1-module-letters-sounds-and-first-numbers": "Letras, Sons e Primeiros Números",
      "es-a1-module-greetings-and-farewells": "Saudações e Despedidas",
      "es-a1-module-introducing-yourself": "Apresentando-se",
      "es-a1-module-first-questions": "Primeiras Perguntas",
      "es-a1-module-numbers-10-to-29": "Números 10 a 29",
      "es-a1-module-sharing-your-personal-details": "Compartilhando Seus Detalhes Pessoais",
      "es-a1-module-numbers-30-to-100": "Números 30 a 100",
      "es-a1-module-describing-a-company": "Descrevendo uma Empresa",
      "es-a1-module-describing-people-at-work": "Descrevendo Pessoas no Trabalho"
    },
    "module-intros": {
      "es-a1-module-describing-a-company": {
        "note": "Próximo Lançamento: 2026",
        "intro": [
          "Neste módulo, você aprenderá a identificar e descrever informações básicas sobre uma empresa, como nome, site, localização, número de funcionários e departamentos."
        ]
      },
      "es-a1-module-describing-people-at-work": {
        "note": "Próximo Lançamento: 2026",
        "intro": [
          "Neste módulo, você aprenderá descrições na terceira pessoa e como identificar correções simples em conversas curtas."
        ]
      }
    },
    "blocks": {
      "es-a1-warm-up-greetings-and-farewells-basics": {
        "title": "Noções Básicas de Saudações e Despedidas",
        "intro": ["", ""]
      },
      "es-a1-learn-greetings-during-the-day": {
        "title": "Saudações Durante o Dia",
        "intro": ["", ""]
      },
      "es-a1-practice-greetings-and-farewells": {
        "title": "Prática de Saudações e Despedidas",
        "intro": ["", ""]
      },
      "es-a1-review-greetings-and-farewells": {
        "title": "Revisão de Saudações e Despedidas",
        "intro": ["", ""]
      },
      "es-a1-quiz-greetings-and-farewells": {
        "title": "Questionário de Saudações e Despedidas",
        "intro": ["", ""]
      },
      "es-a1-learn-certification-introduction": {
        "title": "Introdução à Certificação",
        "intro": ["", ""]
      },
      "es-a1-learn-alphabet-and-accents": {
        "title": "Alfabeto e Acentos",
        "intro": ["", ""]
      },
      "es-a1-learn-punctuation": {
        "title": "Pontuação",
        "intro": ["", ""]
      },
      "es-a1-quiz-spanish-fundamentals": {
        "title": "Questionário de Fundamentos do Espanhol",
        "intro": ["", ""]
      },
      "es-a1-warm-up-introducing-yourself-basics": {
        "title": "Práticas Básicas de Apresentação Pessoal",
        "intro": ["", ""]
      },
      "es-a1-learn-meet-luna": {
        "title": "Conheça Luna",
        "intro": ["", ""]
      },
      "es-a1-learn-meet-mateo": {
        "title": "Conheça Mateo",
        "intro": ["", ""]
      },
      "es-a1-learn-meet-julieta": {
        "title": "Conheça Julieta",
        "intro": ["", ""]
      },
      "es-a1-practice-introducing-yourself": {
        "title": "Prática de Apresentação Pessoal",
        "intro": ["", ""]
      },
      "es-a1-review-introducing-yourself": {
        "title": "Revisão de Apresentação Pessoal",
        "intro": ["", ""]
      },
      "es-a1-quiz-introducing-yourself": {
        "title": "Quiz de Apresentação Pessoal",
        "intro": ["", ""]
      },
      "es-a1-warm-up-first-questions-basics": {
        "title": "Práticas Básicas de Primeiras Perguntas",
        "intro": ["", ""]
      },
      "es-a1-learn-meet-angela-and-basti": {
        "title": "Conheça Angela e Basti",
        "intro": ["", ""]
      },
      "es-a1-practice-first-questions": {
        "title": "Prática de Primeiras Perguntas",
        "intro": ["", ""]
      },
      "es-a1-review-first-questions": {
        "title": "Revisão de Primeiras Perguntas",
        "intro": ["", ""]
      },
      "es-a1-quiz-first-questions": {
        "title": "Quiz de Primeiras Perguntas",
        "intro": ["", ""]
      },
      "es-a1-learn-vowels": {
        "title": "Vogais",
        "intro": ["", ""]
      },
      "es-a1-learn-consonants-and-special-characters": {
        "title": "Consoantes e Caracteres Especiais",
        "intro": ["", ""]
      },
      "es-a1-review-spanish-fundamentals": {
        "title": "Revisão de Fundamentos do Espanhol",
        "intro": ["", ""]
      },
      "es-a1-practice-the-alphabet": {
        "title": "Prática do Alfabeto Espanhol",
        "intro": ["", ""]
      },
      "es-a1-warm-up-remember-first-numbers": {
        "title": "Recordar Primeiros Números",
        "intro": ["", ""]
      },
      "es-a1-learn-numbers-10-to-29": {
        "title": "Números 10 a 29",
        "intro": ["", ""]
      },
      "es-a1-practice-using-numbers-10-to-29": {
        "title": "Usando Números 10 a 29",
        "intro": ["", ""]
      },
      "es-a1-review-numbers-10-to-29": {
        "title": "Revisão de Números 10 a 29",
        "intro": ["", ""]
      },
      "es-a1-quiz-numbers-10-to-29": {
        "title": "Quiz de Números 10 a 29",
        "intro": ["", ""]
      },
      "es-a1-warm-up-getting-ready-to-share-personal-details": {
        "title": "Preparando-se para Compartilhar Detalhes Pessoais",
        "intro": ["", ""]
      },
      "es-a1-learn-basic-personal-information": {
        "title": "Informações Pessoais Básicas",
        "intro": ["", ""]
      },
      "es-a1-learn-contact-information-and-spelling": {
        "title": "Informações de Contato e Ortografia",
        "intro": ["", ""]
      },
      "es-a1-practice-personal-details-in-action": {
        "title": "Detalhes Pessoais em Ação",
        "intro": ["", ""]
      },
      "es-a1-review-sharing-your-personal-details": {
        "title": "Revisão de Compartilhamento de Detalhes Pessoais",
        "intro": ["", ""]
      },
      "es-a1-quiz-sharing-your-personal-details": {
        "title": "Quiz de Compartilhamento de Detalhes Pessoais",
        "intro": ["", ""]
      },
      "es-a1-learn-the-first-ten-numbers": {
        "title": "Os Primeiros Dez Números",
        "intro": ["", ""]
      },
      "es-a1-practice-the-first-ten-numbers": {
        "title": "Prática dos Primeiros Dez Números",
        "intro": ["", ""]
      },
      "es-a1-learn-numbers-30-to-60": {
        "title": "Números 30 a 60",
        "intro": ["", ""]
      },
      "es-a1-warm-up-describing-a-company-basics": {
        "title": "Noções Básicas de Descrição de uma Empresa",
        "intro": ["", ""]
      },
      "es-a1-learn-numbers-61-to-100": {
        "title": "Números 61 a 100",
        "intro": ["", ""]
      },
      "es-a1-practice-using-the-first-100-numbers": {
        "title": "Usando os Primeiros 100 Números",
        "intro": ["", ""]
      },
      "es-a1-review-first-100-numbers": {
        "title": "Revisão dos Primeiros 100 Números",
        "intro": ["", ""]
      },
      "es-a1-quiz-numbers-30-to-100": {
        "title": "Quiz de Números 30 a 100",
        "intro": ["", ""]
      },
      "es-a1-learn-what-the-company-does": {
        "title": "O que a Empresa Faz",
        "intro": ["", ""]
      },
      "es-a1-learn-asking-about-a-company": {
        "title": "Perguntando sobre uma Empresa",
        "intro": ["", ""]
      },
      "es-a1-practice-company-profile": {
        "title": "Perfil da Empresa",
        "intro": ["", ""]
      },
      "es-a1-review-talking-about-a-company": {
        "title": "Falando sobre uma Empresa",
        "intro": ["", ""]
      },
      "es-a1-quiz-describing-a-company": {
        "title": "Questionário sobre Descrição de uma Empresa",
        "intro": ["", ""]
      },
      "es-a1-warm-up-describing-people-at-work-basics": {
        "title": "Noções Básicas de Descrição de Pessoas no Trabalho",
        "intro": ["", ""]
      },
      "es-a1-learn-mini-biographies": {
        "title": "Mini Biografias",
        "intro": ["", ""]
      },
      "es-a1-practice-asking-about-mini-biographies": {
        "title": "Perguntando sobre Mini Biografias",
        "intro": ["", ""]
      },
      "es-a1-learn-short-workplace-profile": {
        "title": "Perfil Curto do Local de Trabalho",
        "intro": ["", ""]
      },
      "es-a1-practice-asking-about-short-workplace-profiles": {
        "title": "Perguntando sobre Perfis Curtos do Local de Trabalho",
        "intro": ["", ""]
      },
      "es-a1-review-describing-people-at-work": {
        "title": "Descrevendo Pessoas no Trabalho",
        "intro": ["", ""]
      },
      "es-a1-quiz-describing-people-at-work": {
        "title": "Descrevendo Pessoas no Trabalho",
        "intro": ["", ""]
      },
      "es-a1-learn-talking-about-colleagues": {
        "title": "Falando sobre Colegas",
        "intro": ["", ""]
      },
      "es-a1-practice-what-departments-do": {
        "title": "What Departments Do",
        "intro": ["", ""]
      }
    }
  },
  "responsive-web-design-v9": {
    "title": "Certificação de Design Responsivo para a Web",
    "intro": [
      "Este curso ensina os fundamentos de HTML e CSS, incluindo design de layout moderno, design, acessibilidade e desenvolvimento web responsivo. Você criará projetos práticos e adquirirá as habilidades necessárias para criar páginas da web profissionais e fáceis de usar.",
      "Para conquistar sua Certificação de Design Responsivo para a Web:",
      "- Complete os cinco projetos obrigatórios para se qualificar para o exame de certificação.",
      "- Passe no exame de Certificação de Design Responsivo para a Web."
    ],
    "chapters": {
      "html": "HTML",
      "computers": "Computadores",
      "css": "CSS",
      "responsive-web-design-certification-exam": "Exame de Certificação de Design Responsivo para a Web"
    },
    "modules": {
      "basic-html": "HTML Básico",
      "semantic-html": "HTML Semântico",
      "html-forms-and-tables": "Formulários e Tabelas",
      "lab-survey-form": "Crie um Formulário de Pesquisa",
      "html-and-accessibility": "Acessibilidade",
      "review-html": "Revisão do HTML",
      "computer-basics": "Noções Básicas de Computador",
      "basic-css": "CSS Básico",
      "design-for-developers": "Design",
      "absolute-and-relative-units": "Unidades Absolutas e Relativas",
      "pseudo-classes-and-elements": "Pseudo Classes e Elementos",
      "css-colors": "Cores",
      "styling-forms": "Estilização de Formulários",
      "css-box-model": "O Modelo de Caixa",
      "css-flexbox": "Flexbox",
      "lab-page-of-playing-cards": "Crie uma Página de Baralhos",
      "css-typography": "Tipografia",
      "css-and-accessibility": "Acessibilidade",
      "css-positioning": "Posicionamento",
      "attribute-selectors": "Seletores de Atributo",
      "lab-book-inventory-app": "Crie uma Aplicação de Inventário de Livros",
      "responsive-design": "Design Responsivo",
      "lab-technical-documentation-page": "Crie uma Página de Documentação Técnica",
      "css-variables": "Variáveis",
      "css-grid": "Grid",
      "lab-product-landing-page": "Crie uma Página de Produto",
      "css-animations": "Animações",
      "review-css": "Revisão de CSS",
      "responsive-web-design-certification-exam": "Exame de Certificação de Design Responsivo para a Web"
    },
    "blocks": {
      "workshop-curriculum-outline": {
        "title": "Crie um Esquema de Currículo",
        "intro": [
          "Bem-vindo ao 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 o 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 <code>link</code>, elemento <code>meta</code> 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á os conceitos básicos do HTML criando uma página web com sua receita favorita. Você criará um boilerplate 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 <code>div</code>, os atributos <code>id</code> e <code>class</code>, 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 <code>div</code> 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 <code>figure</code>, o elemento <code>figcaption</code>, o elemento <code>anchor</code> 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 <code>audio</code> e <code>video</code>."
        ]
      },
      "workshop-html-music-player": {
        "title": "Crie um reprodutor de música em HTML",
        "intro": [
          "Neste workshop, você usará o HTML para criar um reprodutor de música básico.",
          "Este projeto tratará do elemento <code>audio</code>, da configuração do reprodutor de áudio e muito mais."
        ]
      },
      "workshop-html-video-player": {
        "title": "Crie um reprodutor de vídeo HTML",
        "intro": [
          "Neste workshop, você usará o HTML para criar um reprodutor de vídeo básico.",
          "Este projeto tratará do elemento <code>video</code>, da configuração do reprodutor de vídeo e muito mais."
        ]
      },
      "lab-html-audio-and-video-player": {
        "title": "Crie um Tocador de Áudio e Vídeo HTML",
        "intro": [
          "Neste laboratório, você criará um tocador de áudio e vídeo HTML usando os elementos <code>video</code> e <code>audio</code> 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 <code>iframe</code>, 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 <code>iframe</code> 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 <code>iframe</code>."
        ]
      },
      "lecture-working-with-links": {
        "title": "Trabalhando com Links",
        "intro": [
          "Nestes cursos, você aprenderá sobre links, o atributo <code>target</code>, diferentes estados de link, caminhos absolutos e relativos, e muito mais."
        ]
      },
      "review-basic-html": {
        "title": "Revisão do 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 <code>audio</code> e <code>video</code>, os diferentes valores de <code>target</code> 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 <code>em</code> em vez do <code>i</code>, 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 os elementos <code>dl</code>, <code>dt</code> e <code>dd</code>."
        ]
      },
      "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 <code>time</code>, <code>blockquote</code> 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 <code>q</code>, <code>blockquote</code> e <code>cite</code>."
        ]
      },
      "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 <code>u</code>, <code>s</code>, <code>code</code> e mais."
        ]
      },
      "workshop-blog-page": {
        "title": "Crie uma Página de Blog de Gatos",
        "intro": [
          "Neste workshop, você criará uma página de blog apenas em HTML usando elementos semânticos, incluindo os elementos <code>main</code>, <code>nav</code>, <code>article</code> e <code>footer</code>."
        ]
      },
      "lab-event-hub": {
        "title": "Crie uma Central de Eventos",
        "intro": [
          "Neste laboratório, você criará uma central de eventos e revisará elementos semânticos, como <code>header</code>, <code>nav</code>, <code>article</code> 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 <code>em</code>, <code>strong</code>, <code>blockquote</code>, <code>address</code> 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 concluir 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": [
          "Nestas lições, você aprenderá sobre formulários, o papel das labels, inputs e botões na criação de formulários, a validação de formulários no lado do cliente e os estados dos formulários."
        ]
      },
      "workshop-hotel-feedback-form": {
        "title": "Crie um Formulário de Feedback de Hotel",
        "intro": [
          "Neste workshop, você criará um Formulário de Feedback de Hotel.",
          "Você praticará o trabalho com labels, inputs, fieldsets, legends, textareas e botões."
        ]
      },
      "lecture-working-with-tables": {
        "title": "Trabalhando com Tabelas",
        "intro": [
          "Nestas lições, você aprenderá sobre tabelas HTML, como criá-las e quando usá-las."
        ]
      },
      "workshop-final-exams-table": {
        "title": "Crie uma Tabela de Exames Finais",
        "intro": [
          "Neste workshop, você praticará o trabalho 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 <code>thead</code>, <code>tbody</code>, <code>th</code>, <code>tr</code> e <code>td</code>."
        ]
      },
      "lecture-working-with-html-tools": {
        "title": "Trabalhando com Ferramentas de HTML",
        "intro": [
          "Nestas lições, você aprenderá sobre ferramentas de HTML e como elas permitem que você escreva um código melhor. Estas ferramentas incluem validadores HTML, DOM Inspector 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 <code>table</code>, <code>input</code>, e <code>button</code>, bem como 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 concluir um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas."
        ]
      },
      "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 <code>label</code>, os diferentes elementos <code>input</code>, o atributo <code>required</code> e mais."
        ]
      },
      "lecture-importance-of-accessibility-and-good-html-structure": {
        "title": "Importância da Acessibilidade e Estrutura de HTML Boa",
        "intro": [
          "Nestas lições, 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": [
          "Nestas lições, você aprenderá como criar tabelas e formulários acessíveis."
        ]
      },
      "workshop-tech-conference-schedule": {
        "title": "Crie uma Tabela de Horários de Conferência de Tecnologia",
        "intro": [
          "Neste workshop, você criará uma tabela de horários de conferência de tecnologia acessível."
        ]
      },
      "lab-debug-donation-form": {
        "title": "Depurar um formulário de doação",
        "intro": [
          "Neste laboratório, você vai depurar um formulário de doação, corrigindo erros de sintaxe no HTML e melhorando a acessibilidade."
        ]
      },
      "lecture-introduction-to-aria": {
        "title": "Introdução ao ARIA",
        "intro": [
          "Nestas lições, 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 <code>aria-labelledby</code>."
        ]
      },
      "lecture-accessible-media-elements": {
        "title": "Trabalhando com Elementos de Mídia Acessíveis",
        "intro": [
          "Nestas lições, 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 check-out acessível.",
          "Você praticará conceitos como atributos <code>alt</code> e funções ARIA."
        ]
      },
      "lab-movie-review-page": {
        "title": "Crie 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 <code>alt</code>, listas acessíveis e ocultação de conteúdo decorativo dos leitores de tela usando <code>aria-hidden</code>."
        ]
      },
      "lab-multimedia-player": {
        "title": "Crie um Player Multimídia",
        "intro": [
          "Neste laboratório, você criará um player multimídia.",
          "Você praticará o trabalho com os elementos <code>audio</code> e <code>video</code>, o atributo <code>controls</code> e o atributo <code>aria-label</code>."
        ]
      },
      "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 <code>aria-hidden</code>, <code>aria-describedby</code>, <code>tabindex</code> 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 concluir um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas."
        ]
      },
      "review-html": {
        "title": "Revisão do HTML",
        "intro": [
          "Antes de fazer 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."
        ]
      },
      "lecture-understanding-computer-internet-and-tooling-basics": {
        "title": "Compreendendo os Fundamentos do Computador, da Internet e das Ferramentas",
        "intro": [
          "Nestas lições, 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": [
          "Nestas lições, 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": [
          "Nestas lições, 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 <code>color</code>, <code>font-size</code>, <code>text-align</code> e mais."
        ]
      },
      "lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
        "title": "Especificidade do CSS, o Algoritmo da Cascata e Herança",
        "intro": [
          "Nestas lições, 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 <code>margin</code>, <code>padding</code>, 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": [
          "Nestas lições, você aprenderá as propriedades que você precisa conhecer para estilizar com eficiência listas e links, incluindo estados de link como <code>link</code>, <code>visited</code>, <code>hover</code>, e <code>active</code>."
        ]
      },
      "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 <code>text-decoration</code>, <code>list-style-type</code> e como mudar estilos em hover ou click."
        ]
      },
      "lecture-working-with-backgrounds-and-borders": {
        "title": "Trabalhando com Fundos e Bordas",
        "intro": [
          "Nestas lições, 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 <code>background-color</code>, <code>border-radius</code>, 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 <code>background-image</code>, <code>border</code> 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": [
          "Nestas lições, 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": [
          "Nestas lições, 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": [
          "Nestas lições, 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": [
          "Nestas lições, 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 anúncio 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, <code>px</code>, <code>rem</code>, <code>em</code> 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": [
          "Nestas lições, você aprenderá sobre pseudoclasses e pseudoelementos, 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 pseudoclasses.",
          "Neste workshop, você terá a chance de praticar o que aprendeu desenhando um cartão de saudação."
        ]
      },
      "workshop-parent-teacher-conference-form": {
        "title": "Criar um formulário de conferência de professores e pais",
        "intro": [
          "Neste workshop, você praticará como estilizar botões de opção com diferentes tipos de pseudo-seletores, construindo um formulário de conferência de pais e professores.",
          "Você praticará conceitos incluindo o seletor de pseudo-elemento <code>::before</code>, a propriedade <code>transform</code> e mais."
        ]
      },
      "lab-job-application-form": {
        "title": "Crie um Formulário de Aplicação para Trabalho",
        "intro": [
          "Neste laboratório, você criará um formulário de aplicação para trabalho e o estilizará usando pseudoclasses.",
          "Você praticará conceitos como <code>:hover</code>, <code>:active</code>, <code>:focus</code> e mais."
        ]
      },
      "review-css-pseudo-classes": {
        "title": "Revisão sobre Pseudoclasses em CSS",
        "intro": [
          "Antes de ser testado sobre pseudoclasses e pseudoelementos em CSS, você deve revisar o que aprendeu sobre eles.",
          "Abra esta página para revisar conceitos como os pseudoelementos <code>::before</code> e <code>::after</code>, as pseudoclasses <code>:hover</code>, <code>:active</code> e mais."
        ]
      },
      "quiz-css-pseudo-classes": {
        "title": "Questionário sobre 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 no CSS",
        "intro": [
          "Nestas aulas, você aprenderá sobre gradientes lineares e radiais, a teoria das cores, diferentes tipos de cores como nomeadas, RGB, Hex e HSL. Você aprenderá como estas cores funcionam, e qual 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ê praticará diferentes formas de definir valores de cor e como combinar cores entre si."
        ]
      },
      "lab-colored-boxes": {
        "title": "Projete um Conjunto de Caixas Coloridas",
        "intro": [
          "Neste laboratório, você criará uma grade de cores e praticará adicionar cores de fundo aos itens da grade 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 sobre cores do CSS, você deve revisar o que aprendeu sobre elas.",
          "Abra esta página para revisar conceitos como a função <code>rgb()</code>, função <code>hsl()</code>, códigos <code>hex</code> 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": [
          "Nestas aulas, você aprenderá sobre as práticas recomendadas para estilizar formulários e os problemas que pode encontrar enquanto estiliza entradas especiais como <code>color</code> e <code>datetime-local</code>."
        ]
      },
      "workshop-registration-form": {
        "title": "Crie um Formulário de Registro",
        "intro": [
          "Neste workshop, você aprenderá a projetar formulários HTML criando uma página de inscrição. Você aprenderá a controlar quais tipos de dados as pessoas podem digitar em 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": "Projete uma Página de Seleção de Recursos",
        "intro": [
          "Neste laboratório, você criará uma página de seleção de recursos com caixas de seleção estilizadas.",
          "Você criará cartões de recursos com rótulos e caixas de seleção, em seguida dará um estilo personalizado às caixas de seleção."
        ]
      },
      "review-styling-forms": {
        "title": "Revisão sobre Estilização de Formulários",
        "intro": [
          "Antes de ser testado sobre 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 <code>appearance: none</code> 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, Overflow e Filtros em CSS",
        "intro": [
          "Nestas aulas, você aprenderá sobre como trabalhar com transformações, overflow e filtros em CSS. Você também aprenderá sobre o modelo de caixas e como ele funciona."
        ]
      },
      "workshop-rothko-painting": {
        "title": "Projete uma Pintura ao Estilo Rothko",
        "intro": [
          "Cada elemento HTML é uma caixa própria – com seu próprio espaçamento e uma borda. A isso chamamos de Modelo de Caixa.",
          "Neste workshop, você usará o CSS e o Box Model para criar suas próprias obras de arte retangulares ao estilo Rothko."
        ]
      },
      "lab-confidential-email-page": {
        "title": "Crie uma Página de E-mail Confidencial",
        "intro": [
          "Neste laboratório, você criará uma página Web usando HTML e mascarará o conteúdo usando propriedades CSS."
        ]
      },
      "review-css-layout-and-effects": {
        "title": "Revisão sobre Layouts e Efeitos 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 <code>transform</code>, o modelo de caixas, a propriedade <code>overflow</code> e mais."
        ]
      },
      "quiz-css-layout-and-effects": {
        "title": "Questionário sobre Layouts e Efeitos em CSS",
        "intro": [
          "Neste questionário, você testará seu conhecimento sobre o modelo de caixas, transformações, filtros e overflow em CSS."
        ]
      },
      "lecture-working-with-css-flexbox": {
        "title": "Trabalhando com Flexbox no CSS",
        "intro": [
          "Nestas aulas, 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 com Flexbox",
        "intro": [
          "Neste workshop, você usará Flexbox para criar uma página da galeria de fotos responsiva."
        ]
      },
      "workshop-colorful-boxes": {
        "title": "Projete um Conjunto de Caixas Coloridas",
        "intro": [
          "Neste workshop, você praticará trabalhando com CSS flexbox criando um conjunto de caixas coloridas."
        ]
      },
      "lab-pricing-plans-layout": {
        "title": "Crie uma página de layout de planos de preços",
        "intro": [
          "Neste laboratório, você usará o flexbox para criar um layout de camada comum com três cards.",
          "Você praticará o alinhamento de elementos usando propriedades do flexbox, como <code>flex</code>, <code>flex-grow</code>, <code>order</code> 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 <code>flex-direction</code>, <code>justify-content</code>, <code>align-items</code>, <code>flex-wrap</code> 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."
        ]
      },
      "lab-page-of-playing-cards": {
        "title": "Crie uma Página de Cartas de Baralho",
        "intro": [
          "Neste laboratório, você usará flexbox para criar uma página da web de cartas de baralho.",
          "Você praticará o alinhamento de elementos usando propriedades de flexbox, como <code>flex-direction</code>, <code>justify-content</code>, <code>align-self</code> e mais."
        ]
      },
      "lecture-working-with-css-fonts": {
        "title": "Trabalhando com Fontes no CSS",
        "intro": [
          "Nestas aulas, você aprenderá sobre tipografia e suas melhores práticas, fontes e a propriedade <code>text-shadow</code>."
        ]
      },
      "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 workshop, 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 <code>font-family</code>, <code>font-size</code>, <code>font-weight</code> 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 <code>font-family</code> 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": [
          "Nestas aulas, 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 uma Página de Questionário",
        "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 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": [
          "Nestas aulas, você aprenderá como usar posicionamento e flutuações do CSS. Você aprenderá sobre o posicionamento <code>absolute</code>, <code>relative</code>, <code>fixed</code>, e <code>sticky</code>. Você também usará a propriedade <code>z-index</code>."
        ]
      },
      "workshop-cat-painting": {
        "title": "Crie uma 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 <code>z-index</code> e a propriedade <code>transform</code>."
        ]
      },
      "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 <code>position</code>, <code>top</code>, <code>left</code> 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 Atributo",
        "intro": [
          "Nestas aulas, 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 pseudo seletores. 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."
        ]
      },
      "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 <code>href</code> e <code>title</code>."
        ]
      },
      "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."
        ]
      },
      "lab-book-inventory-app": {
        "title": "Crie uma Aplicação de Inventário de Livros",
        "intro": [
          "Neste laboratório, você criará uma aplicação de inventário de livros.",
          "Você praticará seletores de atributo CSS como <code>[attribute]</code>, <code>[attribute=value]</code>, <code>[attribute~=value]</code> e mais."
        ]
      },
      "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."
        ]
      },
      "review-responsive-web-design": {
        "title": "Revisão sobre Design Responsivo na 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 na Web",
        "intro": [
          "Teste o que você aprendeu sobre tornar suas páginas da web responsivas com este questionário."
        ]
      },
      "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."
        ]
      },
      "lecture-working-with-css-variables": {
        "title": "Trabalhando com Variáveis CSS",
        "intro": [
          "Nessas aulas, você aprenderá a definir e usar propriedades personalizadas (também conhecidas como variáveis CSS). Você também aprenderá sobre a regra <code>@property</code> e como ela funciona."
        ]
      },
      "workshop-city-skyline": {
        "title": "Crie um Horizonte da Cidade",
        "intro": [
          "As variáveis CSS ajudam você a organizar seus estilos e reutilizá-los.",
          "Neste workshop, você criará um horizonte da cidade. Você praticará como configurar variáveis CSS para poder reutilizá-las sempre que 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 de Variáveis CSS",
        "intro": [
          "Antes de ser testado sobre os fundamentos de variáveis CSS, você deve revisar o que aprendeu sobre elas.",
          "Abra esta página para revisar como trabalhar com propriedades personalizadas CSS (variáveis CSS) e a regra <code>@property</code>."
        ]
      },
      "quiz-css-variables": {
        "title": "Questionário sobre Variáveis CSS",
        "intro": [
          "Teste seu conhecimento sobre variáveis CSS com este questionário."
        ]
      },
      "lecture-working-with-css-grid": {
        "title": "Trabalhando com CSS Grid",
        "intro": [
          "Nessas aulas, você aprenderá sobre CSS Grid, suas várias propriedades e como usá-las, e como CSS Grid difere do flexbox."
        ]
      },
      "workshop-magazine": {
        "title": "Crie uma Revista",
        "intro": [
          "O CSS Grid dá a você controle sobre as linhas e colunas do design da sua página da web.",
          "Neste workshop, você criará um artigo de revista. Você praticará como usar CSS Grid, incluindo conceitos como linhas de grid e colunas de grid."
        ]
      },
      "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 grid e colunas de grid."
        ]
      },
      "lecture-debugging-css": {
        "title": "Depuração de CSS",
        "intro": [
          "Nesta aula, você aprenderá a depurar CSS usando as ferramentas de desenvolvedor do seu navegador e validadores de CSS."
        ]
      },
      "review-css-grid": {
        "title": "Revisão do CSS Grid",
        "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 do CSS Grid, como <code>grid-template-columns</code>, <code>grid-gap</code> e mais."
        ]
      },
      "quiz-css-grid": {
        "title": "Questionário de CSS Grid",
        "intro": [
          "Teste seu conhecimento sobre CSS Grid com este questionário."
        ]
      },
      "lab-product-landing-page": {
        "title": "Crie uma Página de Produto",
        "intro": [
          "Neste projeto, você criará uma página de produto para comercializar um produto de sua escolha."
        ]
      },
      "lecture-animations-and-accessibility": {
        "title": "Animações e Acessibilidade",
        "intro": [
          "Nessas aulas, você aprenderá sobre animações CSS e suas preocupações de acessibilidade. Você também aprenderá como o <code>prefers-reduced-motion</code> 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ê 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 <code>animation-name</code>, <code>animation-duration</code>, <code>animation-timing-function</code> e mais."
        ]
      },
      "workshop-flappy-penguin": {
        "title": "Crie um Pinguim Flappy",
        "intro": [
          "Você pode transformar elementos HTML para criar designs atraentes que chamam a atenção do seu leitor. Você pode usar transformações para girar elementos, dimensioná-los e muito mais.",
          "Neste workshop, você criará um pinguim. Você usará transformações CSS para posicionar e redimensionar as partes do seu pinguim, criar um fundo e animar seu trabalho."
        ]
      },
      "lab-personal-portfolio": {
        "title": "Crie um Portfólio Pessoal",
        "intro": [
          "Neste projeto, você criará sua própria página de portfólio pessoal."
        ]
      },
      "review-css-animations": {
        "title": "Revisão de Animações CSS",
        "intro": [
          "Antes de ser testado sobre o trabalho com animações CSS, você deve revisar o que aprendeu sobre elas.",
          "Abra esta página para revisar conceitos como <code>prefers-reduced-motion</code>, a regra <code>@keyframes</code> e mais."
        ]
      },
      "quiz-css-animations": {
        "title": "Questionário de Animações CSS",
        "intro": [
          "Teste seu conhecimento sobre animações CSS com este questionário."
        ]
      },
      "review-css": {
        "title": "Revisão de CSS",
        "intro": [
          "Antes de realizar o exame preparatório de CSS, você precisa 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."
        ]
      },
      "exam-responsive-web-design-certification": {
        "title": "Exame de Certificação de Design Responsivo para a Web",
        "intro": [
          "Passe neste exame para ganhar sua Certificação de Design Responsivo para a Web"
        ]
      }
    }
  },
  "a2-professional-spanish": {
    "title": "Certificação de Espanhol Profissional A2 (Beta)",
    "note": "This certification is currently in active development. New content will be published as our instructional design team develops it. Once all content is available, we will release the certification exam.",
    "intro": ["Introdução ao Modelo"],
    "blocks": {
      "talk-about-who-you-are-by-using-key-verbs": {
        "title": "Fale Sobre Quem Você É Usando Verbs-Chave",
        "intro": [
          "Aprenda a se apresentar em espanhol de uma maneira simples e profissional. Neste módulo, você aprenderá a dizer quem você é, de onde você é, o que você faz, como se sente, e o que você gosta ou não."
        ]
      },
      "get-to-know-others-by-asking-simple-questions": {
        "title": "Conheça os Outros Fazendo Perguntas Simples",
        "intro": [
          "Aprenda a fazer e responder perguntas em conversas simples. Através de cinco diálogos curtos, pratique falar sobre rotinas, sentimentos, preferências, espaços de trabalho e informações pessoais. Você também aprenderá a fazer perguntas educadas, dar respostas curtas e usar negação de maneira natural."
        ]
      }
    }
  },
  "a2-professional-chinese": {
    "title": "Certificação de Chinês Profissional A2 (Beta)",
    "note": "This certification is currently in active development. New content will be published as our instructional design team develops it. Once all content is available, we will release the certification exam.",
    "intro": ["Introdução ao Modelo"],
    "blocks": {
      "talk-about-what-you-do-by-using-key-verbs": {
        "title": "Fale Sobre O Que Você Faz Usando Verbos-Chave",
        "intro": [
          "Aprenda a se apresentar em chinês de uma forma simples e profissional. Neste módulo, você aprenderá a dizer quem você é, de onde você vem, o que você faz, como você se sente e o que gosta ou não gosta."
        ]
      },
      "get-to-know-colleagues-by-asking-simple-questions": {
        "title": "Conheça Colegas Fazendo Perguntas Simples",
        "intro": [
          "Aprenda a fazer e responder perguntas em conversas simples. Através de cinco diálogos curtos, pratique falar sobre rotinas, sentimentos, preferências, espaços de trabalho e informações pessoais. Você também aprenderá a fazer perguntas educadas, dar respostas curtas e usar negação de maneira natural."
        ]
      }
    }
  },
  "a1-professional-chinese": {
    "title": "Certificação de Chinês Profissional A1 (Beta)",
    "note": "This certification is currently in active development. New content will be published as our instructional design team develops it. Once all content is available, we will release the certification exam.",
    "intro": [
      "Neste currículo de Chinês Profissional A1, você aprenderá o essencial da comunicação em chinês. Ele seguirá o nível A1 do Quadro Europeu Comum de Referência (CEFR). Nosso foco será o vocabulário que é particularmente útil para ambientes profissionais.",
      "O currículo é dividido em vários módulos que incluem páginas de aquecimento, aprendizado, prática, revisão e questionários para garantir que você realmente entenda o material antes de passar para o próximo módulo.",
      "Cada capítulo inclui centenas de tarefas interativas projetadas para ajudá-lo a dar seus primeiros passos no aprendizado de chinês com confiança."
    ],
    "chapters": {
      "zh-a1-chapter-welcome-to-a1-professional-chinese": "Bem-vindo ao Chinês Profissional A1",
      "zh-a1-chapter-pinyin": "Pinyin",
      "zh-a1-chapter-greetings-and-introductions": "Saudações e Apresentações",
      "zh-a1-chapter-numbers-and-personal-information": "Números e Informações Pessoais",
      "zh-a1-chapter-expressing-what-you-can-and-cant-do": "Expressando o que você pode e não pode fazer"
    },
    "modules": {
      "zh-a1-module-introduction-and-certification-overview": "Introdução e Visão Geral da Certificação",
      "zh-a1-module-initials-and-finals": "Iniciais e Finais",
      "zh-a1-module-greetings-and-basic-introductions": "Saudações e Introduções Básicas",
      "zh-a1-module-asking-and-giving-basic-information": "Perguntando e Dando Informações Básicas",
      "zh-a1-module-numbers-below-100": "Números abaixo de 100",
      "zh-a1-module-communicating-personal-information": "Comunicando Informações Pessoais",
      "zh-a1-module-talking-about-personal-skills": "Falando sobre Habilidades Pessoais",
      "zh-a1-module-discussing-team-skills": "Discutindo Habilidades da Equipe"
    },
    "module-intros": {
      "zh-a1-module-introducing-others": {
        "note": "Próximo Lançamento: 2026",
        "intro": [
          "Neste módulo, você praticará a compreensão de monólogos curtos que introduzem informações sobre outras pessoas, como nome, função, nacionalidade e idade."
        ]
      },
      "zh-a1-module-getting-to-know-the-team": {
        "note": "Próximo Lançamento: 2026",
        "intro": [
          "Neste módulo, você praticará a compreensão de uma curta conversa que pergunta e responde a perguntas simples sobre colegas."
        ]
      },
      "zh-a1-module-communicating-personal-information": {
        "note": "Próximo Lançamento: 2026",
        "intro": [
          "Neste módulo, você praticará a compreensão de conversas que comunicam informações pessoais, como idade e números de telefone."
        ]
      },
      "zh-a1-module-talking-about-personal-skills": {
        "note": "Próximo Lançamento: 2026",
        "intro": [
          "Neste módulo, você praticará a compreensão de monólogos curtos sobre o que as pessoas podem e não podem fazer, como idiomas e habilidades de trabalho."
        ]
      },
      "zh-a1-module-discussing-team-skills": {
        "note": "Próximo Lançamento: 2026",
        "intro": [
          "Neste módulo, você praticará a compreensão de uma conversa curta sobre quem pode fazer quais tarefas em uma equipe e como um projeto começa."
        ]
      }
    },
    "blocks": {
      "zh-a1-learn-certification-introduction": {
        "title": "Introdução à Certificação",
        "intro": ["", ""]
      },
      "zh-a1-learn-simple-finals": {
        "title": "Finais simples",
        "intro": ["", ""]
      },
      "zh-a1-learn-initials": {
        "title": "Iniciais",
        "intro": ["", ""]
      },
      "zh-a1-learn-compound-finals": {
        "title": "Finais Compostos",
        "intro": ["", ""]
      },
      "zh-a1-learn-nasal-finals": {
        "title": "Finais Nasais",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-greeting-new-colleagues": {
        "title": "Saudando Novos Colegas",
        "intro": ["", ""]
      },
      "zh-a1-learn-understanding-greetings-and-introductions": {
        "title": "Compreendendo as Saudações e Apresentações",
        "intro": ["", ""]
      },
      "zh-a1-practice-introducing-yourself": {
        "title": "​Apresentando-se",
        "intro": ["", ""]
      },
      "zh-a1-review-greetings-and-introductions": {
        "title": "Revisão de Saudações e Apresentações",
        "intro": ["", ""]
      },
      "zh-a1-quiz-greetings-and-introductions": {
        "title": "Questionário sobre Saudações e Apresentações",
        "intro": ["", ""]
      },
      "zh-a1-learn-understanding-questions-and-answers": {
        "title": "Entendendo Perguntas e Respostas",
        "intro": ["", ""]
      },
      "zh-a1-practice-exchanging-basic-information": {
        "title": "Trocando Informações Básicas",
        "intro": ["", ""]
      },
      "zh-a1-review-introduction-questions": {
        "title": "Revisão das Perguntas de Introdução",
        "intro": ["", ""]
      },
      "zh-a1-quiz-introduction-questions": {
        "title": "Questionário sobre Perguntas de Introdução",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-introducing-others-basics": {
        "title": "Noções Básicas de Introdução de Outros",
        "intro": ["", ""]
      },
      "zh-a1-learn-meeting-the-team": {
        "title": "Encontrando a equipe",
        "intro": ["", ""]
      },
      "zh-a1-learn-a-new-colleague": {
        "title": "Um Novo Colega",
        "intro": ["", ""]
      },
      "zh-a1-learn-my-family": {
        "title": "Minha Família",
        "intro": ["", ""]
      },
      "zh-a1-practice-introducing-others": {
        "title": "Prática de Introdução de Outros",
        "intro": ["", ""]
      },
      "zh-a1-review-introducing-others": {
        "title": "Revisão de Introdução de Outros",
        "intro": ["", ""]
      },
      "zh-a1-quiz-check-your-introduction": {
        "title": "Verifique Sua Introdução",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-knowing-the-team-basics": {
        "title": "Noções Básicas sobre Conhecer a Equipe",
        "intro": ["", ""]
      },
      "zh-a1-learn-asking-about-the-team": {
        "title": "Perguntando sobre a Equipe",
        "intro": ["", ""]
      },
      "zh-a1-practice-talking-about-others": {
        "title": "Falando sobre Outros",
        "intro": ["", ""]
      },
      "zh-a1-review-team-introduction": {
        "title": "Revisão sobre Introdução da Equipe",
        "intro": ["", ""]
      },
      "zh-a1-quiz-team-introduction": {
        "title": "Questionário sobre Introdução da Equipe",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-personal-skills-basics": {
        "title": "Noções Básicas de Habilidades Pessoais",
        "intro": ["", ""]
      },
      "zh-a1-learn-can-or-cannot": {
        "title": "Pode ou Não Pode",
        "intro": ["", ""]
      },
      "zh-a1-practice-personal-skills": {
        "title": "Prática de Habilidades Pessoais",
        "intro": ["", ""]
      },
      "zh-a1-review-describing-skills": {
        "title": "Revisão sobre Descrição de Habilidades",
        "intro": ["", ""]
      },
      "zh-a1-quiz-describing-skills": {
        "title": "Questionário sobre Descrição de Habilidades",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-team-skills-basics": {
        "title": "Noções Básicas sobre Habilidades da Equipe",
        "intro": ["", ""]
      },
      "zh-a1-learn-who-can-do-what-on-the-team": {
        "title": "Quem Pode Fazer o Quê na Equipe",
        "intro": [
          "Aprenda a discutir as capacidades e os papéis dos membros da equipe."
        ]
      },
      "zh-a1-practice-talking-about-skills": {
        "title": "Falando sobre Habilidades",
        "intro": [
          "Pratique discutir várias habilidades em contextos de equipe."
        ]
      },
      "zh-a1-review-discussing-team-skills": {
        "title": "Revisão sobre Discussão de Habilidades da Equipe",
        "intro": ["", ""]
      },
      "zh-a1-quiz-discussing-team-skills": {
        "title": "Questionário sobre Discussão de Habilidades da Equipe",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-meeting-new-teammates": {
        "title": "Conhecendo Novos Membros da Equipe",
        "intro": ["", ""]
      },
      "zh-a1-learn-special-spelling-rules": {
        "title": "Regras especiais de ortografia",
        "intro": ["", ""]
      },
      "zh-a1-practice-pinyin": {
        "title": "Prática de Pinyin",
        "intro": ["", ""]
      },
      "zh-a1-learn-numbers-0-to-10": {
        "title": "Números 0 a 10",
        "intro": ["", ""]
      },
      "zh-a1-practice-numbers-0-to-10": {
        "title": "Prática de Números 0 a 10",
        "intro": ["", ""]
      },
      "zh-a1-learn-numbers-11-to-19": {
        "title": "Números 11 a 19",
        "intro": ["", ""]
      },
      "zh-a1-practice-numbers-11-to-19": {
        "title": "Prática de Números 11 a 19",
        "intro": ["", ""]
      },
      "zh-a1-learn-numbers-20-to-99": {
        "title": "Números 20 a 99",
        "intro": ["", ""]
      },
      "zh-a1-practice-numbers-20-to-99": {
        "title": "Prática de Números 20 a 99",
        "intro": ["", ""]
      },
      "zh-a1-review-numbers-below-100": {
        "title": "Revisão de Números abaixo de 100",
        "intro": ["", ""]
      },
      "zh-a1-quiz-numbers-below-100": {
        "title": "Quiz de Números abaixo de 100",
        "intro": ["", ""]
      }
    }
  },
  "basic-html": {
    "title": "HTML Básico",
    "summary": [
      "Aprenda a construir páginas web simples usando tags HTML para adicionar textos, imagens e links."
    ],
    "intro": [
      "HTML significa HyperText Markup Language e representa o conteúdo e a estrutura de uma página web. Neste curso, você aprenderá o básico de escrever HTML."
    ],
    "blocks": {
      "workshop-curriculum-outline": {
        "title": "Crie um Esquema de Currículo",
        "intro": [
          "Bem-vindo ao 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 o 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": [
          "Nestas lições, você aprenderá mais sobre HTML (HyperText Markup Language), 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": [
          "Nestas lições, você aprenderá sobre o boilerplate HTML, que é um modelo pronto para suas páginas da web.",
          "Você aprenderá a trabalhar com o elemento <code>link</code>, elemento <code>meta</code> 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á os conceitos básicos do HTML criando uma página web com sua receita favorita. Você criará um boilerplate HTML e trabalhará com títulos, listas, imagens e mais."
        ]
      },
      "lecture-html-fundamentals": {
        "title": "Fundamentos de HTML ",
        "intro": [
          "Nestas lições, você aprenderá sobre fundamentos do HTML, como o elemento <code>div</code>, os atributos <code>id</code> e <code>class</code>, 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 <code>div</code> criando uma página de livraria."
        ]
      },
      "lecture-understanding-how-html-affects-seo": {
        "title": "Entendendo Como o HTML Afeta o SEO",
        "intro": [
          "Nestas lições, você aprenderá como o código HTML impacta a otimização para 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 <code>figure</code>, o elemento <code>figcaption</code>, o elemento <code>anchor</code> e mais."
        ]
      },
      "lecture-working-with-audio-and-video-elements": {
        "title": "Trabalhando com Elementos de Áudio e Vídeo",
        "intro": [
          "Nestas lições, você aprenderá como trabalhar com os elementos <code>audio</code> e <code>video</code>."
        ]
      },
      "workshop-html-video-player": {
        "title": "Crie um reprodutor de vídeo HTML",
        "intro": [
          "Neste workshop, você usará o HTML para criar um reprodutor de vídeo básico.",
          "Este projeto tratará do elemento <code>video</code>, da configuração do reprodutor de vídeo e muito mais."
        ]
      },
      "lab-html-audio-and-video-player": {
        "title": "Crie um Tocador de Áudio e Vídeo HTML",
        "intro": [
          "Neste laboratório, você criará um tocador de áudio e vídeo HTML usando os elementos <code>video</code> e <code>audio</code> com controles e atributos de fonte."
        ]
      },
      "lecture-working-with-images-and-svgs": {
        "title": "Trabalhando com Imagens e SVGs",
        "intro": [
          "Nestas lições, 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": [
          "Nestas lições, você aprenderá como trabalhar com o elemento <code>iframe</code>, 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 <code>iframe</code> 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 <code>iframe</code>."
        ]
      },
      "lecture-working-with-links": {
        "title": "Trabalhando com Links ",
        "intro": [
          "Nestas lições, você aprenderá sobre links, o atributo <code>target</code>, diferentes estados de link, caminhos absolutos e relativos, e muito mais."
        ]
      },
      "review-basic-html": {
        "title": "Revisão do 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 <code>audio</code> e <code>video</code>, os diferentes valores de <code>target</code> 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 concluir um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas."
        ]
      }
    }
  },
  "semantic-html": {
    "title": "HTML Semântico",
    "summary": [
      "Descubra como escrever HTML mais limpo e significativo usando tags semânticas que melhoram a estrutura, a acessibilidade e o SEO."
    ],
    "intro": [
      "Neste curso interativo, você praticará escrever HTML semântico."
    ],
    "blocks": {
      "lecture-importance-of-semantic-html": {
        "title": "Importância do HTML Semântico",
        "intro": [
          "Nestas lições, você aprenderá sobre HTML semântico, por que 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": [
          "Nestas lições, você aprenderá quando deve usar certos elementos semânticos, como o elemento <code>em</code> em vez do <code>i</code>, 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 os elementos <code>dl</code>, <code>dt</code> e <code>dd</code>."
        ]
      },
      "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 <code>time</code>, <code>blockquote</code> 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 <code>q</code>, <code>blockquote</code> e <code>cite</code>."
        ]
      },
      "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 <code>u</code>, <code>s</code>, <code>code</code> e mais."
        ]
      },
      "workshop-blog-page": {
        "title": "Crie uma Página de Blog de Gatos",
        "intro": [
          "Neste workshop, você criará uma página de blog apenas em HTML usando elementos semânticos, incluindo os elementos <code>main</code>, <code>nav</code>, <code>article</code> e <code>footer</code>."
        ]
      },
      "lab-event-hub": {
        "title": "Crie uma Central de Eventos",
        "intro": [
          "Neste laboratório, você criará uma central de eventos e revisará elementos semânticos, como <code>header</code>, <code>nav</code>, <code>article</code> 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 <code>em</code>, <code>strong</code>, <code>blockquote</code>, <code>address</code> 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 concluir um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas."
        ]
      }
    }
  },
  "html-and-accessibility": {
    "title": "Aprenda HTML e Acessibilidade",
    "summary": [
      "Aprenda a escrever HTML inclusivo usando práticas recomendadas de acessibilidade e ARIA."
    ],
    "intro": [
      "Pratique escrever estruturas HTML acessíveis e experiências de formulários."
    ],
    "blocks": {
      "lecture-importance-of-accessibility-and-good-html-structure": {
        "title": "Importância da Acessibilidade e Estrutura de HTML Boa",
        "intro": [
          "Nestas lições, 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": [
          "Nestas lições, você aprenderá como criar tabelas e formulários acessíveis."
        ]
      },
      "workshop-tech-conference-schedule": {
        "title": "Crie uma Tabela de Horários de Conferência de Tecnologia",
        "intro": [
          "Neste workshop, você criará uma tabela de horários de conferência de tecnologia acessível."
        ]
      },
      "lab-debug-donation-form": {
        "title": "Depurar um formulário de doação",
        "intro": [
          "Neste laboratório, você vai depurar um formulário de doação, corrigindo erros de sintaxe no HTML e melhorando a acessibilidade."
        ]
      },
      "lecture-introduction-to-aria": {
        "title": "Introdução ao ARIA",
        "intro": [
          "Nestas lições, 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 <code>aria-labelledby</code>."
        ]
      },
      "lecture-accessible-media-elements": {
        "title": "Trabalhando com Elementos de Mídia Acessíveis",
        "intro": [
          "Nestas lições, 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 check-out acessível.",
          "Você praticará conceitos como atributos <code>alt</code> 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 <code>alt</code>, listas acessíveis e ocultação de conteúdo decorativo dos leitores de tela usando <code>aria-hidden</code>."
        ]
      },
      "lab-multimedia-player": {
        "title": "Crie um Player Multimídia",
        "intro": [
          "Neste laboratório, você criará um player multimídia.",
          "Você praticará o trabalho com os elementos <code>audio</code> e <code>video</code>, o atributo <code>controls</code> e o atributo <code>aria-label</code>."
        ]
      },
      "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 <code>aria-hidden</code>, <code>aria-describedby</code>, <code>tabindex</code> 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 concluir um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas."
        ]
      }
    }
  },
  "computer-basics": {
    "title": "Noções Básicas de Computador",
    "summary": [
      "Construa uma base em fundamentos do computador, internet e ferramentas para desenvolvimento web."
    ],
    "intro": [
      "Fique confortável com as ferramentas e conceitos que movem o desenvolvimento web moderno."
    ],
    "blocks": {
      "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": [
          "Nestas lições, 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": [
          "Nestas lições, 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."
        ]
      }
    }
  },
  "basic-css": {
    "title": "CSS Básico",
    "summary": [
      "Aprenda conceitos centrais de CSS e comece a estilizar layouts do mundo real."
    ],
    "intro": ["Aprenda os fundamentos do CSS e aplique-os a layouts práticos."],
    "blocks": {
      "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 <code>color</code>, <code>font-size</code>, <code>text-align</code> e mais."
        ]
      },
      "lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
        "title": "Especificidade do CSS, o Algoritmo da Cascata e Herança",
        "intro": [
          "Nestas lições, 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 <code>margin</code>, <code>padding</code>, 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": [
          "Nestas lições, você aprenderá as propriedades que você precisa conhecer para estilizar com eficiência listas e links, incluindo estados de link como <code>link</code>, <code>visited</code>, <code>hover</code>, e <code>active</code>."
        ]
      },
      "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 <code>text-decoration</code>, <code>list-style-type</code> e como mudar estilos em hover ou click."
        ]
      },
      "lecture-working-with-backgrounds-and-borders": {
        "title": "Trabalhando com Fundos e Bordas",
        "intro": [
          "Nestas lições, 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 <code>background-color</code>, <code>border-radius</code>, 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 <code>background-image</code>, <code>border</code> 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."
        ]
      }
    }
  },
  "design-for-developers": {
    "title": "Introdução ao Design de UI/UX",
    "summary": [
      "Explore fundamentos de design de UI e princípios de design centrado no usuário para desenvolvedores."
    ],
    "intro": [
      "Aprenda os princípios de design que ajudam desenvolvedores a construir interfaces melhores."
    ],
    "blocks": {
      "lecture-user-interface-design-fundamentals": {
        "title": "Fundamentos do Design de Interfaces de Usuário",
        "intro": [
          "Nestas lições, 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": [
          "Nestas lições, você aprenderá sobre 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": [
          "Nestas lições, 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."
        ]
      }
    }
  },
  "absolute-and-relative-units": {
    "title": "Aprenda Unidades Absolutas e Relativas em CSS",
    "summary": [
      "Entenda quando usar unidades CSS absolutas e relativas para construir layouts flexíveis."
    ],
    "intro": [
      "Aprenda a dimensionar elementos de forma responsiva com unidades CSS."
    ],
    "blocks": {
      "lecture-working-with-relative-and-absolute-units": {
        "title": "Trabalhando com Unidades Relativas e Absolutas",
        "intro": [
          "Nestas lições, 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 anúncio 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, <code>px</code>, <code>rem</code>, <code>em</code> 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 de unidades relativas e absolutas em CSS."
        ]
      }
    }
  },
  "pseudo-classes-and-elements": {
    "title": "Pseudoclasses e Pseudoelementos",
    "summary": [
      "Use pseudoclasses e pseudoelementos para criar estilos mais ricos e interativos."
    ],
    "intro": [
      "Adicione interação e detalhe com pseudoclasses e pseudoelementos de CSS."
    ],
    "blocks": {
      "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
        "title": "Trabalhando com Pseudo-Classes e Pseudo-Elementos em CSS",
        "intro": [
          "Nestas lições, 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."
        ]
      },
      "workshop-parent-teacher-conference-form": {
        "title": "Criar um formulário de conferência de professores e pais",
        "intro": [
          "Neste workshop, você praticará como estilizar botões de opção com diferentes tipos de pseudo-seletores, construindo um formulário de conferência de pais e professores.",
          "Você praticará conceitos incluindo o seletor de pseudo-elemento <code>::before</code>, a propriedade <code>transform</code> e mais."
        ]
      },
      "lab-job-application-form": {
        "title": "Crie um Formulário de Aplicação para Trabalho",
        "intro": [
          "Neste laboratório, você criará um formulário de aplicação para trabalho e o estilizará usando pseudoclasses.",
          "Você praticará conceitos como <code>:hover</code>, <code>:active</code>, <code>:focus</code> e mais."
        ]
      },
      "review-css-pseudo-classes": {
        "title": "Revisão sobre 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 revisar conceitos como os pseudoelementos <code>::before</code> e <code>::after</code> assim como as pseudoclasses <code>:hover</code>, <code>:active</code> e mais."
        ]
      },
      "quiz-css-pseudo-classes": {
        "title": "Questionário sobre Pseudoclasses em CSS",
        "intro": [
          "Teste seu conhecimento sobre pseudoclasses de CSS com este questionário."
        ]
      }
    }
  },
  "css-colors": {
    "title": "Aprenda sobre cores em CSS.",
    "summary": [
      "Trabalhe com formatos de cor no CSS e construa paletas coesas."
    ],
    "intro": ["Aprenda a aplicar cor com CSS para criar visuais polidos."],
    "blocks": {
      "lecture-working-with-colors-in-css": {
        "title": "Trabalhando com Cores no CSS",
        "intro": [
          "Nestas lições, você aprenderá sobre gradientes lineares e radiais, teoria das cores, diferentes tipos de cores como 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ê praticará diferentes formas de definir valores de cor e como combinar cores entre si."
        ]
      },
      "lab-colored-boxes": {
        "title": "Projete um Conjunto de Caixas Coloridas",
        "intro": [
          "Neste laboratório, você criará uma grade de cores e praticará adicionar cores de fundo aos itens da grade 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 sobre cores do CSS, você deve revisar o que aprendeu sobre elas.",
          "Abra esta página para revisar conceitos como a função <code>rgb()</code>, função <code>hsl()</code>, códigos <code>hex</code> e mais."
        ]
      },
      "quiz-css-colors": {
        "title": "Questionário sobre Cores no CSS",
        "intro": [
          "Teste seu conhecimento sobre cores CSS com este questionário."
        ]
      }
    }
  },
  "styling-forms": {
    "title": "Aprenda como estilizar formulários usando CSS",
    "summary": [
      "Aplique técnicas de CSS para criar layouts de formulários limpos e utilizáveis."
    ],
    "intro": [
      "Estilize elementos de formulário para melhorar usabilidade e clareza visual."
    ],
    "blocks": {
      "lecture-best-practices-for-styling-forms": {
        "title": "Práticas Recomendadas para Estilização de Formulários",
        "intro": [
          "Nestas lições, você aprenderá sobre as práticas recomendadas para estilizar formulários e os problemas que pode encontrar ao estilizar inputs especiais como <code>color</code> e <code>datetime-local</code>."
        ]
      },
      "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 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": "Projete uma Página de Seleção de Recursos",
        "intro": [
          "Neste laboratório, você criará uma página de seleção de recursos com caixas de seleção customizadas.",
          "Você criará cartões de recursos com rótulos e caixas de seleção, em seguida dará um estilo personalizado às caixas de seleção."
        ]
      },
      "review-styling-forms": {
        "title": "Revisão sobre Estilização de Formulários",
        "intro": [
          "Antes de ser testado sobre estilização de formulários, você deve revisar o que aprendeu.",
          "Abra esta página para revisar como estilizar inputs de formulário, trabalhar com <code>appearance: none</code> 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."
        ]
      }
    }
  },
  "css-box-model": {
    "title": "Aprenda o Modelo de Caixa do CSS",
    "summary": [
      "Domine o modelo de caixa CSS, espaçamento e efeitos de layout para designs precisos."
    ],
    "intro": [
      "Aprenda como espaçamentos, bordas e efeitos de layout funcionam em conjunto."
    ],
    "blocks": {
      "lecture-working-with-css-transforms-overflow-and-filters": {
        "title": "Trabalhando com Transformações, Overflow e Filtros em CSS",
        "intro": [
          "Nestas lições, você aprenderá sobre transformações CSS, overflow e filtros. Você também aprenderá sobre o modelo de caixa e como ele funciona."
        ]
      },
      "workshop-rothko-painting": {
        "title": "Projete uma Pintura ao Estilo Rothko",
        "intro": [
          "Cada elemento HTML é uma caixa própria – com seu próprio espaçamento e uma borda. A isso chamamos de Modelo de Caixa.",
          "Neste workshop, você usará o CSS e o Box Model para criar suas próprias obras de arte retangulares ao estilo Rothko."
        ]
      },
      "lab-confidential-email-page": {
        "title": "Crie uma Página de E-mail Confidencial",
        "intro": [
          "Neste laboratório, você criará uma página Web usando HTML e mascarará o conteúdo usando propriedades CSS."
        ]
      },
      "review-css-layout-and-effects": {
        "title": "Revisão sobre Layouts e Efeitos 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 <code>transform</code>, o modelo de caixas, a propriedade <code>overflow</code> e mais."
        ]
      },
      "quiz-css-layout-and-effects": {
        "title": "Questionário sobre Layouts e Efeitos em CSS",
        "intro": [
          "Neste questionário, você testará seu conhecimento sobre o modelo de caixas, transformações, filtros e overflow em CSS."
        ]
      }
    }
  },
  "css-flexbox": {
    "title": "Aprenda CSS Flexbox",
    "summary": [
      "Crie layouts responsivos usando o modelo Flexbox e ferramentas de alinhamento."
    ],
    "intro": ["Use Flexbox para criar layouts responsivos e alinhados."],
    "blocks": {
      "lecture-working-with-css-flexbox": {
        "title": "Trabalhando com CSS Flexbox",
        "intro": [
          "Nestas lições, 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 com Flexbox",
        "intro": [
          "Neste workshop, você usará Flexbox para criar uma página da galeria de fotos responsiva."
        ]
      },
      "lab-pricing-plans-layout": {
        "title": "Crie uma página de layout de planos de preços",
        "intro": [
          "Neste laboratório, você criará um layout de planos de preços.",
          "Você praticará o alinhamento de elementos usando propriedades de flexbox como <code>flex-direction</code>, <code>justify-content</code>, <code>align-self</code> e mais."
        ]
      },
      "lab-page-of-playing-cards": {
        "title": "Crie uma página de jogos de cartas",
        "intro": [
          "Neste laboratório, você usará flexbox para criar uma página da web de cartas de baralho.",
          "Você praticará o alinhamento de elementos usando propriedades de flexbox como <code>flex-direction</code>, <code>justify-content</code>, <code>align-self</code> 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 <code>flex-direction</code>, <code>justify-content</code>, <code>align-items</code>, <code>flex-wrap</code> 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."
        ]
      }
    }
  },
  "css-typography": {
    "title": "Aprenda Tipografia em CSS",
    "summary": [
      "Aprenda a estilizar texto para legibilidade, hierarquia e equilíbrio visual."
    ],
    "intro": ["Use tipografia para melhorar legibilidade e hierarquia visual."],
    "blocks": {
      "lecture-working-with-css-fonts": {
        "title": "Trabalhando com Fontes no CSS",
        "intro": [
          "Nestas lições, você aprenderá sobre tipografia e suas melhores práticas, fontes e a propriedade <code>text-shadow</code>."
        ]
      },
      "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 workshop, você usará a tipografia para construir uma página de rótulo nutricional. Você praticará 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 <code>font-family</code>, <code>font-size</code>, <code>font-weight</code> 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 <code>font-family</code> e mais."
        ]
      },
      "quiz-css-typography": {
        "title": "Questionário sobre Tipografia no CSS",
        "intro": [
          "Teste seu conhecimento sobre tipografia com este questionário."
        ]
      }
    }
  },
  "css-and-accessibility": {
    "title": "Aprenda CSS e Acessibilidade",
    "summary": [
      "Aplique técnicas de CSS que suportem interfaces acessíveis e inclusivas."
    ],
    "intro": [
      "Projete com acessibilidade em mente ao estilizar elementos de UI."
    ],
    "blocks": {
      "lecture-best-practices-for-accessibility-and-css": {
        "title": "Práticas Recomendadas para Acessibilidade e CSS",
        "intro": [
          "Nestas lições, você aprenderá sobre práticas recomendadas para acessibilidade em CSS, e as ferramentas para verificar o bom contraste de cores em sites."
        ]
      },
      "workshop-accessibility-quiz": {
        "title": "Crie uma Página de Questionário",
        "intro": [
          "Acessibilidade é o processo de tornar as páginas da web utilizáveis para todos, incluindo pessoas com deficiências.",
          "Neste workshop, você criará uma página de questionário. Você aprenderá ferramentas de acessibilidade, como atalhos de teclado, atributos ARIA e melhores práticas de design."
        ]
      },
      "lab-tribute-page": {
        "title": "Criar uma Página de Homenagem",
        "intro": [
          "Neste laboratório, você 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."
        ]
      }
    }
  },
  "css-positioning": {
    "title": "Aprenda Posicionamento em CSS",
    "summary": [
      "Use posicionamento e floats para controlar layout e fluxo de elementos."
    ],
    "intro": [
      "Controle o layout com floats e ferramentas de posicionamento do CSS."
    ],
    "blocks": {
      "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": {
        "title": "Compreendendo Como Trabalhar com Flutuações e Posicionamento no CSS",
        "intro": [
          "Nestas lições, você aprenderá como usar posicionamento e flutuações do CSS. Você aprenderá sobre o posicionamento <code>absolute</code>, <code>relative</code>, <code>fixed</code> e <code>sticky</code>. Você também usará a propriedade <code>z-index</code>."
        ]
      },
      "workshop-cat-painting": {
        "title": "Crie uma 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 <code>z-index</code> e a propriedade <code>transform</code>."
        ]
      },
      "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 <code>position</code>, <code>top</code>, <code>left</code> 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."
        ]
      }
    }
  },
  "attribute-selectors": {
    "title": "Aprenda Seletores de Atributo em CSS",
    "summary": [
      "Alvo elementos com precisão usando seletores de atributo do CSS."
    ],
    "intro": ["Selecione elementos com precisão usando seletores de atributo."],
    "blocks": {
      "lecture-working-with-attribute-selectors": {
        "title": "Trabalhando com Seletores de Atributo",
        "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á uma aplicação de inventário de livros.",
          "Você praticará seletores de atributos CSS como <code>[attribute]</code>, <code>[attribute=value]</code>, <code>[attribute~=value]</code> 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 <code>href</code> e <code>title</code>."
        ]
      },
      "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."
        ]
      }
    }
  },
  "responsive-design": {
    "title": "Aprenda Design Responsivo",
    "summary": [
      "Aprenda princípios de design responsivo e construa layouts que se adaptam a qualquer tela."
    ],
    "intro": [
      "Faça layouts se adaptarem a diferentes tamanhos de tela e dispositivos."
    ],
    "blocks": {
      "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 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ê usará CSS e design responsivo para codar um piano. Você também 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á media queries para criar um design responsivo."
        ]
      },
      "review-responsive-web-design": {
        "title": "Revisão sobre Design Responsivo na 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 na Web",
        "intro": [
          "Teste o que você aprendeu sobre tornar suas páginas da web responsivas com este questionário."
        ]
      }
    }
  },
  "css-variables": {
    "title": "Aprenda Variáveis CSS",
    "summary": [
      "Use variáveis CSS para construir estilos reutilizáveis e amigáveis a temas."
    ],
    "intro": [
      "Crie estilos manuteníveis usando propriedades personalizadas do CSS."
    ],
    "blocks": {
      "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 <code>@property</code> e como ela funciona."
        ]
      },
      "workshop-city-skyline": {
        "title": "Crie um Horizonte da Cidade",
        "intro": [
          "As variáveis CSS ajudam você a organizar seus estilos e reutilizá-los.",
          "Neste workshop, você criará um horizonte da cidade. Você praticará como configurar variáveis CSS para poder reutilizá-las sempre que 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 de Variáveis CSS",
        "intro": [
          "Antes de ser testado sobre os fundamentos de variáveis CSS, você deve revisar o que aprendeu.",
          "Abra esta página para revisar como trabalhar com propriedades personalizadas CSS (variáveis CSS) e a regra <code>@property</code>."
        ]
      },
      "quiz-css-variables": {
        "title": "Questionário sobre Variáveis CSS",
        "intro": [
          "Teste seu conhecimento sobre variáveis CSS com este questionário."
        ]
      }
    }
  },
  "css-grid": {
    "title": "Aprenda CSS Grid",
    "summary": ["Projete layouts complexos usando o sistema CSS Grid."],
    "intro": ["Construa layouts multidimensionais com CSS Grid."],
    "blocks": {
      "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": "Crie uma Revista",
        "intro": [
          "O CSS Grid dá a você controle sobre as linhas e colunas do design da sua página da web.",
          "Neste workshop, você criará um artigo de revista. Você praticará como usar CSS Grid, incluindo conceitos como linhas de grid e colunas de grid."
        ]
      },
      "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 grid e colunas de grid."
        ]
      },
      "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 de Produto",
        "intro": [
          "Neste projeto, você criará uma página de produto para comercializar um produto escolhido por você."
        ]
      },
      "review-css-grid": {
        "title": "Revisão do CSS Grid",
        "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 do CSS Grid, como <code>grid-template-columns</code>, <code>grid-gap</code> e mais."
        ]
      },
      "quiz-css-grid": {
        "title": "Questionário de CSS Grid",
        "intro": [
          "Teste seu conhecimento sobre CSS Grid com este questionário."
        ]
      }
    }
  },
  "css-animations": {
    "title": "Aprenda Animações em CSS",
    "summary": [
      "Crie movimento de UI envolvente com animações CSS acessíveis."
    ],
    "intro": [
      "Adicione movimento com animações CSS mantendo a usabilidade em mente."
    ],
    "blocks": {
      "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 <code>prefers-reduced-motion</code> 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ê 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 <code>animation-name</code>, <code>animation-duration</code>, <code>animation-timing-function</code> e mais."
        ]
      },
      "workshop-flappy-penguin": {
        "title": "Crie um Pinguim Flappy",
        "intro": [
          "Você pode transformar elementos HTML para criar designs atraentes que chamam a atenção do leitor. Você pode usar transformações para girar elementos, dimensioná-los e muito mais.",
          "Neste workshop, você criará um pinguim. Você usará transformações CSS para posicionar e redimensionar as partes do seu pinguim, criar um fundo e animar seu trabalho."
        ]
      },
      "lab-personal-portfolio": {
        "title": "Crie um Portfólio Pessoal",
        "intro": [
          "Neste projeto, você criará sua própria página de portfólio pessoal."
        ]
      },
      "review-css-animations": {
        "title": "Revisão de Animações CSS",
        "intro": [
          "Antes de ser testado sobre o trabalho com animações CSS, você deve revisar o que aprendeu sobre elas.",
          "Abra esta página para revisar conceitos como <code>prefers-reduced-motion</code>, a regra <code>@keyframes</code> e mais."
        ]
      },
      "quiz-css-animations": {
        "title": "Questionário de Animações CSS",
        "intro": [
          "Teste seu conhecimento sobre animações em CSS com este questionário."
        ]
      }
    }
  },
  "dev-playground": {
    "title": "Playground Dev",
    "intro": ["Playground para criar e testar desafios"],
    "blocks": {
      "daily-coding-challenges-javascript": {
        "title": "Desafios Diários de Codificação JavaScript",
        "intro": [
          "Lugar para criar desafios diários de codificação JavaScript."
        ]
      },
      "daily-coding-challenges-python": {
        "title": "Desafios Diários de Codificação Python",
        "intro": ["Lugar para criar desafios diários de codificação Python."]
      }
    }
  },
  "full-stack-open": {
    "title": "Full-Stack Open",
    "intro": ["Uma boa introdução será adicionada aqui."],
    "blocks": {
      "workshop-blog-page": {
        "title": "Crie uma Página de Blog de Gatos",
        "intro": [
          "Neste workshop, você criará uma página de blog apenas em HTML usando elementos semânticos, incluindo os elementos <code>main</code>, <code>nav</code>, <code>article</code> e <code>footer</code>."
        ]
      }
    },
    "chapters": {
      "part-0": "Fundamentos de Aplicativos Web",
      "part-1": "Introdução ao React",
      "part-2": "Comunicação com Servidores",
      "part-3": "Programando um Servidor com NodeJS e Express",
      "part-4": "Testando Servidores Express, Administração de Usuários",
      "part-5": "Testando Aplicativos React",
      "part-6": "Gerenciamento Avançado de Estado",
      "part-7": "React router, hooks personalizados, estilizando aplicativo com CSS e webpack",
      "part-8": "GraphQL",
      "part-9": "TypeScript",
      "part-10": "React Native",
      "part-11": "CI/CD",
      "part-12": "Containers",
      "part-13": "Usando Bancos de Dados Relacionais"
    },
    "modules": {
      "basic-html": "HTML Básico"
    },
    "module-intros": {
      "basic-html": {
        "title": "HTML Básico",
        "intro": [
          "Aprenda a criar páginas da web simples usando tags HTML para adicionar texto, imagens e links."
        ]
      }
    }
  },
  "daily-coding-challenge": {
    "title": "Desafio de Código Diário",
    "blocks": {
      "daily-coding-challenge": {
        "title": "Desafios de código diário"
      }
    }
  },
  "misc-text": {
    "browse-other": "Browse our other free certifications",
    "courses": "Cursos",
    "requirements": "Requisitos",
    "steps": "Passos",
    "expand": "Expandir o curso",
    "collapse": "Recolher o curso",
    "legacy-header": "Cursos anteriores",
    "legacy-desc": "Estes cursos não fazem mais parte do caminho de certificação, mas ainda estão disponíveis para você continuar aprendendo.",
    "legacy-go-back": "Vá para a versão atual do currículo.",
    "course-maintenance": "Estes cursos estão passando por manutenção. Se eles não estiverem funcionando, você pode aprender como executá-los localmente em <0>https://www.freecodecamp.org/portuguese/news/curso-de-bancos-de-dados-relacionais-como-aprender-sql-no-vscode-usando-o-docker-e-o-freecodecamp/</0>.",
    "course-disabling-soon": "A versão para o navegador desses cursos será temporariamente desativada em breve e suas máquinas virtuais serão excluídas. Qualquer progresso em suas máquinas virtuais será perdido. Se você tiver quaisquer arquivos que quiser neles, deve salvá-los no seu computador. Pedimos desculpas por qualquer inconveniente. Esperamos ter uma versão melhorada desses cursos para o navegador novamente nas próximas semanas.",
    "course-disabled": "Estes cursos estão temporariamente indisponíveis para serem executados no navegador. Pedimos desculpas por qualquer inconveniência. Você pode aprender a executá-los localmente em <0>https://www.freecodecamp. rg/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0>. Esperamos ter uma versão para o navegador melhorada disponível novamente em breve.",
    "run-locally": "Por enquanto, recomendamos rodar os cursos localmente em seu computador. Você pode aprender a fazer isso em <0>https://www.freecodecamp.org/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0>.",
    "progress-wont-save": "O progresso não será salvo em sua conta do freeCodeCamp quando executá-los localmente.",
    "go-back-to-learn": "Voltar à versão estável do currículo.",
    "read-database-cert-article": "Leia esta publicação no fórum antes de prosseguir.",
    "enable-cookies": "Você deve habilitar cookies de terceiros antes de iniciar.",
    "english-only": "Os cursos desta seção estão disponíveis apenas em inglês. Neste momento, só podemos traduzir os títulos e as introduções, não as próprias lições.",
    "exam-english-only": "Observe que o exame de certificação está atualmente disponível apenas em inglês. O restante dos cursos está disponível em alguns idiomas."
  }
}
