# Matemática do Zero

Um curso de matemática construído do chão para cima, para quem só sabe as quatro operações
(somar, subtrair, multiplicar e dividir) e quer chegar a **toda a matemática da escola até a
faculdade** — frações e porcentagem, álgebra, geometria, trigonometria, álgebra linear, cálculo,
probabilidade, números complexos e equações diferenciais — sem passar por nenhuma etapa no escuro.

O curso segue a **ordem da escola** — Fundamental → Médio → Faculdade — em **5 níveis e 30 aulas**, mais **10 eletivas** de aprofundamento.
O roteiro completo, com o que entra em cada aula e de onde vem cada pré-requisito, está em
**[PLANO.md](PLANO.md)**; a trilha de referência usada para montar a ordem está em
[`trilha_de_aprendizado_em_matemativa.md`](trilha_de_aprendizado_em_matemativa.md).

Cada aula é uma **página HTML interativa e autocontida**: você mexe nos controles, o gráfico
responde na hora, e os exercícios se corrigem sozinhos com explicação do erro. O formato é
inspirado na série *Head First* da O'Reilly — muita ilustração, linguagem de conversa, o Guru
soltando uma frase no meio do caminho e nenhuma fórmula caindo do céu.

---

## Aulas

O curso é dividido em níveis. Dentro de cada nível, cada aula resolve exatamente um obstáculo, sem
usar nada que não tenha sido apresentado numa aula anterior — nem entre níveis.

### Nível 1 — Básico (Ensino Fundamental I e II) ✅

| # | Aula | Assunto |
|---|------|---------|
| 01 | [Múltiplos, divisores e primos](aulas/01-multiplos-divisores-e-primos/) | Quem cabe dentro de quem: pulos na reta, o crivo dos primos, engrenagens (MMC) e ladrilhos (MDC). |
| 02 | [Pedaços e sinais: frações, decimais e negativos](aulas/02-fracoes-decimais-e-negativos/) | Pizza, régua e termômetro: todo tipo de número morando na mesma reta. |
| 03 | [Porcentagem, razão e regra de três](aulas/03-porcentagem-razao-e-regra-de-tres/) | Desconto, receita de bolo e mapa são a mesma conta: comparar por divisão. |
| 04 | [Potências e raízes](aulas/04-potencias-e-raizes/) | Ao quadrado é um quadrado, ao cubo é um cubo, e a raiz é o lado deles. Mais: números gigantes com potências de 10. |
| 05 | [Dados: média, mediana, moda e desvio](aulas/05-dados-media-mediana-moda-e-desvio/) | Resumir uma lista em poucos números — e descobrir o que cada resumo esconde. |
| 06 | [Contagem e chance](aulas/06-contagem-e-chance/) | Árvores de possibilidades, filas e moedas: o acaso tem régua. |

### Nível 2 — Intermediário (Ensino Fundamental II) ✅

| # | Aula | Assunto |
|---|------|---------|
| 07 | [Letras no lugar de números: a função](aulas/07-letras-no-lugar-de-numeros/) | A máquina de números, aquele f(x) que assustou você na escola, a regra de ouro e o primeiro gráfico. |
| 08 | [Equações e inequações: a balança](aulas/08-equacoes-e-inequacoes/) | Descobrir o número escondido sem chute — e o que muda quando a balança pende. |
| 09 | [O plano e a reta](aulas/09-o-plano-e-a-reta/) | As duas réguas, o endereço de um ponto e a receita que descreve qualquer linha reta. |
| 10 | [Sistemas de equações](aulas/10-sistemas-de-equacoes/) | Resolver duas equações ao mesmo tempo é só achar onde duas retas se cruzam. |
| 11 | [Ângulos, círculo e π](aulas/11-angulos-circulo-e-pi/) | O que é girar, por que a volta tem 360° e de onde sai o π. |
| 12 | [Áreas, volumes e Pitágoras](aulas/12-areas-volumes-e-pitagoras/) | Toda figura é um retângulo arrumado — e três quadrados guardam o segredo do triângulo retângulo. |

### Nível 3 — Avançado (Ensino Médio) ✅

| # | Aula | Assunto |
|---|------|---------|
| 13 | [Curvas que não são retas](aulas/13-curvas-que-nao-sao-retas/) | Parábolas e polinômios: a máquina de sempre com um quadrado dentro. |
| 14 | [Crescimento que acelera](aulas/14-crescimento-que-acelera/) | PA e PG, juros simples e compostos, exponenciais e logaritmos. |
| 15 | [Trigonometria: seno, cosseno, tangente e radianos](aulas/15-trigonometria/) | A altura, a sombra e a inclinação de um ponto girando — medidas em graus e em radianos. |
| 16 | [Ondas](aulas/16-ondas/) | Desenrolando o círculo: o giro vira onda. Altura, largura e atraso. |
| 17 | [Vetores e matrizes](aulas/17-vetores-e-matrizes/) | Vetor é uma seta. Matriz é uma tabela que move setas. Álgebra linear desmistificada. |
| 18 | [Girar multiplicando: números complexos](aulas/18-girar-multiplicando/) | A raiz de −1 é só um jeito de escrever \ |

### Nível 4 — Especialista (Faculdade: cálculo e dados) ✅

| # | Aula | Assunto |
|---|------|---------|
| 19 | [Limites e a derivada](aulas/19-limites-e-a-derivada/) | A lupa que endireita a curva: a inclinação em cada ponto. |
| 20 | [A integral](aulas/20-a-integral/) | Somar fatias cada vez mais finas — e o caminho de volta da derivada. |
| 21 | [A curva normal](aulas/21-a-curva-normal/) | Pascal, Galton e o sino: milhares de acasos desenham sempre a mesma curva. |
| 22 | [Correlação: estatística com vetores](aulas/22-correlacao/) | Correlação é só o cosseno do ângulo entre duas listas de números. |
| 23 | [Projeção e mínimos quadrados](aulas/23-projecao-e-minimos-quadrados/) | A reta que melhor se ajusta aos pontos é geometria de sombra. |
| 24 | [Decomposição de sinais: Fourier](aulas/24-fourier/) | Todo som complicado é várias ondas simples somadas — ou setas girando. |

### Nível 5 — Pesquisador (Faculdade: aplicada e computacional) ✅

| # | Aula | Assunto |
|---|------|---------|
| 25 | [Matrizes que transformam](aulas/25-determinante-inversa-e-autovalores/) | Determinante é área, inversa desfaz, autovetor é a seta que só estica. |
| 26 | [PCA: as direções principais](aulas/26-pca/) | A direção mais comprida de uma nuvem de pontos — e como resumir muitos dados em poucos. |
| 27 | [Otimização: descer a ladeira](aulas/27-otimizacao-e-gradiente/) | Curvas de nível, a seta do gradiente e o tamanho do passo. |
| 28 | [Equações diferenciais e o método de Euler](aulas/28-equacoes-diferenciais/) | Quando a regra fala da inclinação: campos de setinhas, molas e populações. |
| 29 | [Acaso no tempo: passeio aleatório](aulas/29-passeio-aleatorio/) | Uma moeda que anda: o √n do espalhamento e o movimento browniano. |
| 30 | [Pensar como matemático](aulas/30-pensar-como-matematico/) | Contraexemplo, demonstração, indução e os problemas que ninguém resolveu. |

### Eletivas (aprofundamento, módulos independentes) ✅

Depois do Nível 5 — ou antes, assim que os pré-requisitos de cada uma estiverem feitos.

| # | Eletiva | Assunto |
|---|------|---------|
| 31 | [Aritmética do relógio e criptografia RSA](aulas/31-aritmetica-do-relogio-e-rsa/) | Contas que dão a volta, o pequeno teorema de Fermat e o cadeado que qualquer um fecha e só você abre. |
| 32 | [Grafos: caminhos, redes e rotas](aulas/32-grafos/) | Pontes de Königsberg, o caminho mais curto e a árvore mais barata. |
| 33 | [Simetrias: o que é um grupo](aulas/33-simetrias-e-grupos/) | Girar e espelhar um triângulo: a tabela que contém toda a álgebra abstrata em miniatura. |
| 34 | [Topologia de borracha: Möbius e V − A + F](aulas/34-topologia-de-borracha/) | O que sobra de uma forma quando ela pode esticar à vontade: buracos, lados e a fórmula de Euler. |
| 35 | [Curvas e superfícies: curvatura](aulas/35-curvatura/) | O círculo que abraça a curva, por que a laranja não vira mapa e a soma dos ângulos de um triângulo na esfera. |
| 36 | [Séries de Taylor: trocar uma curva por potências](aulas/36-series-de-taylor/) | Como a calculadora acha seno e eˣ: polinômios que imitam a curva cada vez melhor. |
| 37 | [Calor e ondas: equações diferenciais parciais](aulas/37-calor-e-ondas-edp/) | Uma barra que esfria e uma corda que vibra: Euler aplicado em cada ponto ao mesmo tempo. |
| 38 | [Fractais e dimensão](aulas/38-fractais-e-dimensao/) | Formas que se repetem em cada zoom e têm dimensão 1,26. |
| 39 | [Cálculo estocástico: a integral do acaso](aulas/39-calculo-estocastico/) | Somar pedacinhos de browniano, o termo extra de Itô e o preço que passeia. |
| 40 | [Métodos numéricos: Newton, erro e estabilidade](aulas/40-metodos-numericos/) | Achar raízes pela tangente, o erro do computador e quando uma conta explode. |

O roteiro completo, com o que entra em cada aula, está em **[PLANO.md](PLANO.md)**.

---

## Como usar

**Jeito mais simples:** baixe o repositório e abra `index.html` no navegador. Não precisa de
servidor, nem de internet, nem instalar nada — cada aula é um arquivo único com todo o CSS e
JavaScript embutidos.

O `index.html` é uma página única (SPA): os níveis ficam no cabeçalho, cada nível abre o painel
com as suas aulas, e a aula abre ali mesmo, num quadro logo abaixo do cabeçalho, com os botões
de anterior/próxima. As rotas ficam no `#` do endereço, então dá para favoritar ou compartilhar:

| Endereço | O que mostra |
|---|---|
| `index.html#/` | início do curso |
| `index.html#/nivel/2` | painel do Nível 2, com o progresso de cada aula |
| `index.html#/aula/08-equacoes-e-inequacoes` | a Aula 8 aberta dentro do curso |

Endereços da numeração antiga (18 aulas) continuam funcionando: a SPA redireciona para a aula nova, e
o progresso já salvo é migrado automaticamente.

Uma aula aberta sozinha (`aulas/<aula>/index.html`) continua funcionando e ganha uma barra fina
no topo com o caminho do curso e o link para abri-la dentro dele.

```bash
git clone https://github.com/nosreteq/math.git
cd math
# abra index.html no navegador
```

**Publicando no GitHub Pages:** em *Settings → Pages*, escolha a branch `main` e a pasta `/ (root)`.
O curso fica no ar em `https://nosreteq.github.io/math/`.

---

## Estrutura

```
math/
├── index.html                          o curso: cabeçalho com os níveis, painel e quadro da aula
├── README.md                           este arquivo
├── PLANO.md                            roteiro do curso, por níveis
├── trilha_de_aprendizado_em_matemativa.md   trilha de referência usada no plano
│
├── aulas/
│   ├── 01-multiplos-divisores-e-primos/
│   │   ├── index.html                  a aula interativa
│   │   ├── notas.md                    o texto da aula, para ler ou imprimir
│   │   └── figuras.png                 versão estática das ilustrações
│   │
│   ├── 02-fracoes-decimais-e-negativos/        ] Nível 1 — Básico
│   ├── 03-porcentagem-razao-e-regra-de-tres/   ]
│   ├── 04-potencias-e-raizes/                  ]
│   ├── 05-dados-media-mediana-moda-e-desvio/   ]
│   ├── 06-contagem-e-chance/                   ]
│   ├── 07-letras-no-lugar-de-numeros/          ] Nível 2 — Intermediário
│   ├── 08-equacoes-e-inequacoes/               ]
│   ├── 09-o-plano-e-a-reta/                    ]
│   ├── 10-sistemas-de-equacoes/                ]
│   ├── 11-angulos-circulo-e-pi/                ]
│   ├── 12-areas-volumes-e-pitagoras/           ]
│   ├── 13-curvas-que-nao-sao-retas/            ] Nível 3 — Avançado
│   ├── 14-crescimento-que-acelera/             ]
│   ├── 15-trigonometria/                       ]
│   ├── 16-ondas/                               ]
│   ├── 17-vetores-e-matrizes/                  ]
│   ├── 18-girar-multiplicando/                 ]
│   ├── 19-limites-e-a-derivada/                ] Nível 4 — Especialista
│   ├── 20-a-integral/                          ]
│   ├── 21-a-curva-normal/                      ]
│   ├── 22-correlacao/                          ]
│   ├── 23-projecao-e-minimos-quadrados/        ]
│   ├── 24-fourier/                             ]
│   ├── 25-determinante-inversa-e-autovalores/  ] Nível 5 — Pesquisador
│   ├── 26-pca/                                 ]
│   ├── 27-otimizacao-e-gradiente/              ]
│   ├── 28-equacoes-diferenciais/               ]
│   ├── 29-passeio-aleatorio/                   ]
│   ├── 30-pensar-como-matematico/              ]
│   ├── 31-aritmetica-do-relogio-e-rsa/         ] Eletivas
│   ├── 32-grafos/                              ]
│   ├── 33-simetrias-e-grupos/                  ]
│   ├── 34-topologia-de-borracha/               ]
│   ├── 35-curvatura/                           ]
│   ├── 36-series-de-taylor/                    ]
│   ├── 37-calor-e-ondas-edp/                   ]
│   ├── 38-fractais-e-dimensao/                 ]
│   ├── 39-calculo-estocastico/                 ]
│   └── 40-metodos-numericos/                   ]
│       (mesma estrutura: index.html, notas.md, figuras.png)
│
├── assets/
│   ├── catalogo.js                     lista única de níveis e aulas (título, resumo, pasta)
│   ├── spa.js                          rotas e painéis da página inicial
│   ├── menu.js                         liga cada aula ao curso (barra avulsa, anterior/próxima)
│   ├── pecas.css                       estilo das peças Head First (cérebro, lareira, por que é verdade?, quem faz o quê?)
│   └── progresso.js, auth*.js          progresso salvo e login opcional
│
└── scripts/
    ├── README.md
    └── figuras_aula01.py .. figuras_aula40.py    gera o figuras.png de cada aula (matplotlib)
```

Cada aula tem três formas do mesmo conteúdo:

- **`index.html`** — a aula de verdade, com os laboratórios e os exercícios corrigidos.
- **`notas.md`** — o mesmo conteúdo em texto corrido, bom para revisar no celular ou imprimir.
- **`figuras.png`** — as ilustrações num arquivo só, para colar num caderno ou num slide.

---

## O que tem dentro de uma aula

Cada página segue sempre a mesma anatomia:

- **Poder do cérebro** 🧠 — uma pergunta aberta antes da explicação: você pensa primeiro.
- **Laboratórios** 🔧 — seis por aula, controles que mexem no desenho ao vivo. É onde a ideia entra de verdade.
- **O Guru** — uma frase que arruma a cabeça no momento certo.
- **Não existe pergunta idiota** — as dúvidas que sempre aparecem, respondidas antes de você perguntar.
- **Cuidado** ⚠️ — as armadilhas clássicas, marcadas antes de você cair nelas.
- **Por que é verdade?** ✅ — uma mini-demonstração, sem formalismo, de um fato da aula.
- **Conversa ao pé da lareira** 🔥 — dois conceitos que se confundem discutem a relação (uma por nível).
- **Pontos importantes** — o resumo da aula em uma tela.
- **Afie o lápis** ✏️ — seis exercícios com correção na hora: errou, sacode e explica; acertou, ganha selo.
  Um deles é o desafio 🏆, e a partir do Nível 2 um é de ligar colunas (**Quem faz o quê?**).

---

## Princípios do curso

1. **Nada de decorar.** Se você entendeu, a fórmula vem sozinha depois. Se decorou sem entender,
   esquece em uma semana.
2. **Nenhum passo pulado.** Todo símbolo novo é apresentado antes de ser usado.
3. **O desenho vem antes da fórmula.** Primeiro você vê a coisa acontecer, depois escreve.
4. **Errar é de graça.** Os exercícios explicam o erro em vez de só marcar em vermelho.
5. **Tudo offline.** Nenhuma aula depende de internet, CDN ou biblioteca externa.

---

## Reconstruindo as figuras

As imagens estáticas são geradas por scripts em Python. Detalhes em
[`scripts/README.md`](scripts/README.md).

```bash
pip install matplotlib numpy
cd scripts
for f in figuras_aula*.py; do python3 "$f"; done
```

---

## Verificação automática

`tests/verifica.js` abre cada aula num navegador de verdade e confere: 6 laboratórios e 6
exercícios por aula, todos os controles nos extremos sem texto quebrado (`NaN`, `undefined`),
resposta errada nunca pontua e gabarito sempre aceito, nenhum erro de JavaScript, nenhum desenho
invisível (elemento criado fora do namespace SVG), nenhum link
quebrado e nenhuma rolagem lateral no celular. Na página inicial, confere as abas de nível, a
troca de painel, a aula abrindo no quadro, anterior/próxima, o botão voltar do navegador e o
progresso feito dentro da aula aparecendo no painel. Roda sozinho no GitHub a cada push que mexe nas
aulas (`.github/workflows/verifica-aulas.yml`). Para rodar localmente:

```bash
npm install --no-save playwright && npx playwright install chromium
node tests/verifica.js
AULAS=13,14 node tests/verifica.js   # só algumas aulas
```

---

## Licença

MIT — veja [LICENSE](LICENSE). Use, copie, adapte e ensine alguém.
