📋 Pré-requisito: Curso de Git e GitHub concluído.
Ao final do curso, você será capaz de:
- Programar em JavaScript com domínio de variáveis, estruturas de controle e funções;
- Manipular arrays e objetos, incluindo os métodos funcionais (
map,filter,reduce); - Criar páginas web interativas manipulando o DOM e tratando eventos;
- Consumir APIs reais com
fetcheasync/await; - Publicar seus projetos na internet com GitHub Pages;
- Trabalhar como um profissional: todo código versionado com Git e entregue via GitHub.
| Aula | Tema | Conteúdo |
|---|---|---|
| 01 | Introdução | O que é JS, Node.js, primeiro programa |
| 02 | Variáveis e tipos | let/const, tipos primitivos, coerção, template literals |
| 03 | Operadores e condicionais | === vs ==, if/else, switch, truthy/falsy |
| 04 | Laços e funções | while, for, funções, parâmetros, retorno, escopo |
| Aula | Tema | Conteúdo |
|---|---|---|
| 05 | Arrays | Criação, métodos básicos, percorrendo arrays |
| 06 | Objetos | Objetos literais, JSON, desestruturação |
| 07 | Funções avançadas | Arrow functions, callbacks, rest/spread |
| 08 | Métodos funcionais | map, filter, reduce, find e encadeamento |
| Aula | Tema | Conteúdo |
|---|---|---|
| 09 | HTML + CSS + JS | O trio da web, JS no navegador, DevTools |
| 10 | DOM | Selecionar, alterar, criar e remover elementos |
| 11 | Eventos | addEventListener, formulários, validação |
| 12 | Projeto guiado | Lista de tarefas + publicação no GitHub Pages |
| Aula | Tema | Conteúdo |
|---|---|---|
| 13 | Promises e async/await | Código assíncrono, setTimeout, Promises |
| 14 | Fetch e APIs | Consumindo APIs reais (ViaCEP), JSON, erros |
| 15 | Laboratório: app com API | Construir e publicar um app que consome uma API real |
| 16 | Revisão e próximos passos | Classes (ponte com Java), o que estudar depois |
Todo laboratório começa e termina com Git. Sem exceção:
# ── Início da aula ──
cd exercicios-javascript
git pull # atualiza (se você usa mais de um PC)
# ── Durante a aula ──
mkdir aula-XX-tema && cd aula-XX-tema # uma pasta por aula
# ... programa, testa, erra, conserta ...
git add .
git commit -m "Resolve exercícios da aula XX" # commit por exercício concluído
# ── Fim da aula (OBRIGATÓRIO) ──
git push # sem push = sem entrega!Consulte o guia de preparação do ambiente: Node.js, VS Code e extensões.
- 📅 Cronograma da turma 2026/2 — as datas dos encontros, se você está cursando isto numa turma
- 🧯 Erros comuns de JavaScript
- 🔗 Links úteis
- 📚 Curso de Git e GitHub (pré-requisito)
Livro-base:
- FLANAGAN, David. JavaScript: o guia definitivo. 6. ed. Porto Alegre: Bookman, 2013.
Bibliografia de apoio:
| Obra | Onde ela ajuda mais |
|---|---|
| FREEMAN, Eric; ROBSON, Elisabeth. Use a cabeça! Programação JavaScript. Rio de Janeiro: Alta Books, 2016. | Blocos 1 e 2 — a linguagem explicada devagar e com muita figura; é o livro para ler junto com as aulas |
| SILVA, Maurício Samy. JavaScript: guia do programador. São Paulo: Novatec, 2010. | Bloco 3 — DOM, eventos e formulários em português, com exemplo de página em quase toda seção |
| HAVERBEKE, Marijn. Eloquent JavaScript. 3. ed. San Francisco: No Starch Press, 2018. | Blocos 2 e 4 — funções de ordem superior e assincronismo, com exercícios que rodam na própria página |
| CROCKFORD, Douglas. JavaScript: the good parts. Sebastopol: O'Reilly, 2008. | Bloco 2 — por que === e não ==, e quais partes da linguagem é melhor não usar |
| SIMPSON, Kyle. You Don't Know JS Yet. 2. ed. Independente, 2020. | Depois do curso — this, protótipos e closures, os mecanismos que as aulas usam sem abrir |
| ECMA INTERNATIONAL. ECMA-262: ECMAScript language specification. Genebra, edição corrente. | a norma da linguagem: a resposta final quando duas fontes discordam |
Três desses são gratuitos e legais de ler online: o Eloquent JavaScript (há uma tradução da comunidade), o You Don't Know JS Yet e a especificação ECMA-262.
O curso é autocontido — os livros são o passo seguinte, não um pré-requisito. Para consulta do dia a dia, a MDN Web Docs resolve mais rápido que qualquer um deles; ela e as demais referências online estão em Links úteis.
Este repositório continua evoluindo — exemplos e materiais novos são commitados aqui. Primeiro passo de toda sessão de estudo: git pull. 🙂