Bem-vindo ao repositório do Curso de Programação e Estrutura de Dados em JavaScript! Este curso é projetado para estudantes de todos os níveis e interessados em aprofundar seus conhecimentos em Estrutura de Dados utilizando a linguagem JavaScript. Descrevemos neste material os conceitos de Estruturas de Dados Essenciais e os principais Algoritmos de Ordenação.
-
Fundamentos de JavaScript: Introdução sobre a linguagem; Diferenças entre execução na Web e no Node; Variáveis e operadores; Tipos de dados, Estruturas condicionais, Estruturas de repetição, Funções
-
Estruturas de Dados Lineares e suas Aplicações em JavaScript: Arrays, Busca linear e busca binária, Matrizes, Pilhas, Filas, Deques e Listas.
-
Algoritmos com JavaScript: Algoritmos de ordenação (como Bubble Sort, Merge Sort, Quick Sort), algoritmos de busca (busca linear e busca binária), e técnicas de programação como recursão.
-
Extra: Boas Práticas de Programação: Legibilidade do código, refatoração, padrões de projeto e testes unitários com Jest.
-
Projetos Práticos: Ao final de cada módulo, você aplicará o que aprendeu desenvolvendo projetos práticos, como: um carrinho de compras, uma agenda de contatos, sistema de controle de fila de banco, tabela de medalhas olimpicas, análise de expressões em código, jogos simples e um algoritmo de recomendação.
Para aproveitar ao máximo este curso, você deve ter uma compreensão básica de programação e um conhecimento básico em HTML e CSS é útil, mas não obrigatório. Recomendamos o uso de um editor de código como Visual Studio Code ou utilizando um repositório no Github e utilizando o Codespace.
Este repositório está organizado por módulos, cada um dedicado a um tópico específico de JavaScript ou uma estrutura de dados. Dentro de cada módulo, você encontrará:
- Notas de Aula: Explicações detalhadas dos conceitos, com exemplos de código.
- Exercícios: Atividades práticas para reforçar o aprendizado. Incluem exercícios de fixação e desafios para resolver.
- Projetos: Diretórios de projetos com especificações e recursos necessários para começar.
Este é um projeto de código aberto, e contribuições são bem-vindas. Se você encontrou um erro, tem uma sugestão ou quer adicionar conteúdo novo, sinta-se à vontade para abrir uma issue ou enviar um pull request.
Este material de ensino é distribuído sob a licença MIT. Veja o arquivo LICENSE
para mais detalhes.
Para dúvidas e suporte, por favor, abra uma issue no repositório.