Desafios Interativos de Desenvolvimento Web

Neste curso, você aprenderá a aprimorar suas habilidades em desenvolvimento web com nossos desafios interativos de JavaScript. Da manipulação do DOM a algoritmos avançados, enfrente mais de 130 laboratórios práticos projetados para todos os níveis. Perfeito para desenvolvedores aspirantes nos EUA e Europa que buscam construir experiência de codificação no mundo real.

Desenvolvimento Web

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Programa

Fundamentos de JavaScript
Manipulação de Strings
Arrays e Ordenação
Funções e Closures
Objetos e JSON
Manipulação do DOM
Manipulação de Eventos
Algoritmos Básicos
Estruturas de Dados
Árvores Binárias
Programação Dinâmica
Algoritmos Gulosos
Backtracking
Dois Ponteiros
Janela Deslizante
Simulação e Problemas Matemáticos
Processamento de Strings e Expressões Regulares
Processamento de Dados e Estatística
Design e Implementação de Sistemas
Navegador e Ambiente
Conceitos Avançados de JavaScript
Otimização de Algoritmos
Resolução de Problemas Complexos

Introdução

Fortaleça sua capacidade de resolver problemas com JavaScript por meio de 130 desafios independentes, organizados em 23 grupos temáticos. A coleção começa com conversão de tipos, strings, arrays, funções e objetos e avança para interações no navegador e problemas algorítmicos cada vez mais exigentes.

Em vez de seguir um tutorial de uma única aplicação, você lerá uma especificação, completará o JavaScript ou o comportamento de página solicitado e verificará o resultado em um ambiente preparado. É possível escolher um tema para reforçar ou percorrer toda a coleção para acumular prática consistente.

O que você aprenderá

Ao concluir o curso, você saberá:

  • Aplicar conversão de tipos, comparações, operações com arrays e transformações de strings a requisitos precisos.
  • Criar funções com closures, debounce, timers e o comportamento de call, apply e reduce.
  • Transformar objetos e JSON, analisar valores estruturados, comparar dados aninhados e implementar clonagem profunda.
  • Manipular o DOM, percorrer árvores de elementos, responder a eventos e implementar interações de página.
  • Resolver com JavaScript problemas de busca, ordenação, dois ponteiros, janela deslizante, simulação e matemática.
  • Implementar operações de pilha e árvore binária com travessia, recursão e regras de árvore binária de busca.
  • Selecionar programação dinâmica, algoritmos gulosos e backtracking para desafios de várias etapas.
  • Converter restrições escritas em soluções gerais e verificá-las com testes fornecidos ou comportamento no navegador.

Para quem é este curso

O curso é para quem entende os fundamentos de JavaScript e deseja muita prática independente. Também atende estudantes de frontend que querem reforçar o DOM e programadores que praticam padrões comuns de estruturas de dados e algoritmos. Embora classificado como Beginner, as seções finais exigem bem mais raciocínio que os exercícios iniciais.

Pré-requisitos: Você deve dominar variáveis, condicionais, loops, funções, arrays e objetos de JavaScript. HTML e DOM básicos ajudam nos desafios de navegador; familiaridade com recursão e estruturas de dados comuns é útil nas últimas seções, mas pode ser desenvolvida durante o percurso.

Ambiente de aprendizagem: Os 130 desafios são executados em um WebIDE Ubuntu 22.04 fornecido. Conforme a tarefa, você edita JavaScript ou projetos HTML/CSS existentes, executa verificações no terminal ou inicia uma página local e observa o resultado na prévia do navegador. Não é necessária conta externa nem serviço de implantação.

Perguntas frequentes

É adequado como meu primeiro curso de JavaScript?

Não é o ideal. Os desafios iniciais reforçam a sintaxe básica, mas pedem que você implemente soluções em vez de ensinar cada conceito passo a passo. Aprenda primeiro variáveis, controle de fluxo, funções, arrays e objetos e use esta coleção para praticar.

Quanto conteúdo está incluído?

O curso contém exatamente 130 desafios em 23 grupos. Abrange fundamentos de JavaScript, strings, arrays, funções, objetos, DOM e eventos, além de árvores, programação dinâmica, métodos gulosos, backtracking, expressões regulares e problemas complexos.

Preciso completar os desafios em ordem?

Não. O curso não é sequencial, e cada desafio possui sua própria configuração e objetivo. Você pode focar um grupo temático, embora avançar das seções de linguagem para as de algoritmos produza um aumento mais natural de dificuldade.

Vou criar uma aplicação web completa ou aprender um framework frontend?

Não. Alguns desafios implementam interações de página ou funções semelhantes às de um sistema real, mas são exercícios focados, não um único projeto final. O curso também não oferece um currículo estruturado de React, Vue ou outro framework.

Professor

labby
Labby
Labby is the LabEx teacher.