# 📚 Índice Geral - Algoritmos e Programação para Licenciatura em Física

## 🎓 Bem-vindo!

Este conjunto de materiais foi desenvolvido especificamente para alunos de **Licenciatura em Física** na UFSM, oferecendo uma formação completa em Algoritmos e Programação com aplicações práticas em Física.

---

## 📂 Estrutura de Arquivos

```
fsc1189/colab_notebooks/
│
├── 📖 README.md                             (Getting Started)
│
├── 📁 notebooks/                            (Notebooks Jupyter)
│   ├── 📓 01_Conceitos_Basicos.ipynb        (Cap. 1-3)
│   ├── 📓 02_Estruturas_Controle_Repeticao.ipynb (Cap. 4-6)
│   ├── 📓 03_Metodos_Numericos_Projetos.ipynb   (Cap. 7-10)
│   ├── 📓 04_Circuito_RC.ipynb
│   ├── 📓 05_Tratamento_Dados_Visualizacao.ipynb
│   └── 📓 06_Projeto_Capstone_Fisica.ipynb
│
├── 📁 docs/                                 (Documentação - este diretório)
│   ├── 📘 APOSTILA_ALGORITMOS_PROGRAMACAO.md (Principal - 90 páginas)
│   ├── 🔍 INDICE_GERAL.md                   (Este arquivo)
│   ├── 📊 SUMARIO_CONTEUDO.md               (Visão detalhada)
│   ├── 🧮 INDICE_CONCEITOS_FISICA.md        (Referência rápida)
│   ├── 📅 PLANO_DE_ENSINO_16_SEMANAS.md
│   ├── ❓ FAQ_DISCIPLINA.md
│   ├── 🐛 GUIA_DEBUGGING.md
│   ├── 🌐 GITHUB_INFO.md
│   ├── 🔐 PORTAL_ACCESS.md
│   └── 📝 planodeaula-estruturas-de-dados.md
│
├── 📁 recursos/                             (Materiais externos)
│   └── 📄 apostila_algoritmos_mar2007.pdf
│
├── 📁 listas/                               (Listas de exercícios)
└── 📁 site/                                 (Site da disciplina)
```

---

## 🎯 Como Começar

### **1️⃣ Primeira Vez?**

Comece aqui:
1. Leia este arquivo (INDICE_GERAL.md) - você está aqui! ✓
2. Consulte [README.md](../README.md) para entender a estrutura
3. Abra a [APOSTILA_ALGORITMOS_PROGRAMACAO.md](APOSTILA_ALGORITMOS_PROGRAMACAO.md)
4. Comece pelo Capítulo 1

### **2️⃣ Procurando um Tópico Específico?**

Use o índice por capítulo abaixo ⬇️

### **3️⃣ Resolvendo Exercícios?**

1. Leia o capítulo da apostila
2. Implemente em VisualG (Português Estruturado)
3. Compare com a solução em Python no Notebook

### **4️⃣ Necessita Referência Rápida?**

Consulte [INDICE_CONCEITOS_FISICA.md](INDICE_CONCEITOS_FISICA.md)

---

## 📚 Navegação por Capítulo

### **CAPÍTULO 1: Introdução a Algoritmos**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 1](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-1-introdução-a-algoritmos)
- **Duração:** 8 páginas
- **Exercício Prático:** [Notebook 01 - Exercício 1.1](../notebooks/01_Conceitos_Basicos.ipynb)
- **Conceitos:** Algoritmo, representação, trajetória de projétil
- **Exemplo Físico:** Movimento de projétil com $v_0 = 20$ m/s, $\theta = 35°$
- **Tempo Estimado:** 2-3 horas

**Tópicos principais:**
- ✓ O que é um algoritmo?
- ✓ Características essenciais
- ✓ Algoritmos em Física
- ✓ Formas de representação
- ✓ Complexidade computacional

---

### **CAPÍTULO 2: Lógica de Programação**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 2](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-2-lógica-de-programação)
- **Duração:** 6 páginas
- **Exercício Prático:** [Notebook 01 - Exercício 2.1](../notebooks/01_Conceitos_Basicos.ipynb)
- **Conceitos:** Booleano, operadores lógicos, estruturas
- **Exemplo Físico:** Classificação de movimento
- **Tempo Estimado:** 2 horas

**Tópicos principais:**
- ✓ Proposições e lógica booleana
- ✓ Operadores: E, OU, NÃO
- ✓ Tabelas-verdade
- ✓ Operadores relacionais
- ✓ Estruturas lógicas (sequência, seleção, repetição)

---

### **CAPÍTULO 3: Variáveis e Tipos de Dados**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 3](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-3-variáveis-e-tipos-de-dados)
- **Duração:** 7 páginas
- **Exercícios Práticos:** 
  - [Notebook 01 - Exercício 3.1](../notebooks/01_Conceitos_Basicos.ipynb)
  - [Notebook 01 - Exercício 3.2](../notebooks/01_Conceitos_Basicos.ipynb)
- **Conceitos:** Variável, tipos primitivos, nomenclatura, escopo
- **Exemplo Físico:** Constantes físicas, validação de medidas
- **Tempo Estimado:** 2-3 horas

**Tópicos principais:**
- ✓ Conceito de variável
- ✓ Tipos primitivos (inteiro, real, caractere, lógico)
- ✓ Declaração de variáveis em Portugol
- ✓ Convenções de nomenclatura
- ✓ Escopo de variáveis

---

### **CAPÍTULO 4: Estruturas de Controle**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 4](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-4-estruturas-de-controle)
- **Duração:** 8 páginas
- **Exercício Prático:** [Notebook 02 - Exercício 4.1](../notebooks/02_Estruturas_Controle_Repeticao.ipynb)
- **Conceitos:** Condicional SE-SENÃO, múltiplas condições
- **Exemplo Físico:** Estados de matéria, validação de dados
- **Tempo Estimado:** 3 horas

**Tópicos principais:**
- ✓ Estrutura SE-SENÃO
- ✓ SE-SENÃO-SE aninhada
- ✓ Operador ternário
- ✓ Validação de dados experimentais
- ✓ Cálculo de erro percentual

---

### **CAPÍTULO 5: Estruturas de Repetição**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 5](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-5-estruturas-de-repetição)
- **Duração:** 9 páginas
- **Exercícios Práticos:**
  - [Notebook 02 - Exercício 5.1](../notebooks/02_Estruturas_Controle_Repeticao.ipynb)
  - [Notebook 02 - Exercício 5.2](../notebooks/02_Estruturas_Controle_Repeticao.ipynb)
- **Conceitos:** PARA, ENQUANTO, REPETIR-ATÉ, SAIA
- **Exemplo Físico:** Queda livre, série de Leibniz para π
- **Tempo Estimado:** 3-4 horas

**Tópicos principais:**
- ✓ Loop PARA (for)
- ✓ Loop ENQUANTO (while)
- ✓ Loop REPETIR-ATÉ (do-until)
- ✓ Controle de fluxo (SAIA)
- ✓ Integração numérica (Regra do Trapézio)

---

### **CAPÍTULO 6: Vetores e Matrizes**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 6](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-6-vetores-e-matrizes)
- **Duração:** 8 páginas
- **Exercícios Práticos:**
  - [Notebook 02 - Exercício 6.1](../notebooks/02_Estruturas_Controle_Repeticao.ipynb)
  - [Notebook 02 - Exercício 6.2](../notebooks/02_Estruturas_Controle_Repeticao.ipynb)
- **Conceitos:** Arrays 1D e 2D, operações vetoriais
- **Exemplo Físico:** Produto escalar, coordenadas 3D
- **Tempo Estimado:** 3 horas

**Tópicos principais:**
- ✓ Conceito de vetor
- ✓ Declaração de vetores
- ✓ Matrizes (arrays 2D)
- ✓ Produto escalar
- ✓ Norma/magnitude de vetor

---

### **CAPÍTULO 7: Funções e Procedimentos**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 7](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-7-funções-e-procedimentos)
- **Duração:** 8 páginas
- **Exercício Prático:** [Notebook 03 - Exercício 7.1](../notebooks/03_Metodos_Numericos_Projetos.ipynb)
- **Conceitos:** Funções, procedimentos, passagem de parâmetros
- **Exemplo Físico:** Cálculo de energias, conversão de unidades
- **Tempo Estimado:** 3 horas

**Tópicos principais:**
- ✓ Conceito de função
- ✓ Estrutura de função
- ✓ Procedimentos
- ✓ Escopo de variáveis (local vs global)
- ✓ Módulo de conversão de unidades

---

### **CAPÍTULO 8: Métodos Numéricos em Física**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 8](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-8-métodos-numéricos-em-física)
- **Duração:** 12 páginas (mais denso)
- **Exercícios Práticos:**
  - [Notebook 03 - Exercício 8.1](../notebooks/03_Metodos_Numericos_Projetos.ipynb)
  - [Notebook 03 - Exercício 8.2](../notebooks/03_Metodos_Numericos_Projetos.ipynb)
  - [Notebook 03 - Exercício 8.3](../notebooks/03_Metodos_Numericos_Projetos.ipynb)
- **Conceitos:** Bisseção, diferenciação, integração numérica, Euler
- **Exemplo Físico:** Raízes, derivadas, integrais, EDOs
- **Tempo Estimado:** 6-8 horas

**Tópicos principais:**
- ✓ Introdução a métodos numéricos
- ✓ Método da bisseção para encontrar raízes
- ✓ Diferenciação numérica (diferenças finitas)
- ✓ Método de Euler para EDOs
- ✓ Integração numérica (Regra de Simpson)

---

### **CAPÍTULO 9: Tratamento de Dados e Visualização**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 9](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-9-tratamento-de-dados-e-visualização)
- **Duração:** 7 páginas
- **Conceitos:** Estatística, outliers, interpolação
- **Exemplo Físico:** Análise de dados experimentais
- **Tempo Estimado:** 3 horas

**Tópicos principais:**
- ✓ Tratamento de dados
- ✓ Estatísticas básicas (média, variância, desvio padrão)
- ✓ Detecção de outliers
- ✓ Interpolação linear
- ✓ Visualização com Matplotlib

---

### **CAPÍTULO 10: Projetos Integrados em Física**
- **Arquivo:** [APOSTILA_ALGORITMOS_PROGRAMACAO.md - Capítulo 10](APOSTILA_ALGORITMOS_PROGRAMACAO.md#capítulo-10-projetos-integrados-em-física)
- **Duração:** 10 páginas
- **Exercícios Práticos:**
  - [Notebook 03 - Projeto 10.1](../notebooks/03_Metodos_Numericos_Projetos.ipynb)
  - [Notebook 03 - Projeto 10.2](../notebooks/03_Metodos_Numericos_Projetos.ipynb)
- **Projetos:** Lançamento de projétil, pêndulo, circuito RC
- **Tempo Estimado:** 8-10 horas

**Tópicos principais:**
- ✓ Projeto 1: Simulação de lançamento com arrasto
- ✓ Projeto 2: Análise de pêndulo simples
- ✓ Projeto 3: Circuito RC
- ✓ Orientações para projetos independentes

---

## 🔧 Recursos Complementares

### **Programas Necessários**

| Software | Uso | Status | Link |
|----------|-----|--------|------|
| VisualG | Português Estruturado | Gratuito | [visualg.com.br](https://www.visualg.com.br) |
| Python 3 | Implementação avançada | Gratuito | [python.org](https://www.python.org) |
| Jupyter | Notebooks interativos | Gratuito | [jupyter.org](https://jupyter.org) |
| NumPy | Computação científica | Gratuito | [numpy.org](https://numpy.org) |
| Pandas | Análise de dados | Gratuito | [pandas.pydata.org](https://pandas.pydata.org) |
| Matplotlib | Visualização | Gratuito | [matplotlib.org](https://matplotlib.org) |
| Google Colab | Jupyter na nuvem | Gratuito | [colab.research.google.com](https://colab.research.google.com) |

---

## 🎓 Caminho de Aprendizado Recomendado

### **Semana 1-2: Fundamentos** 📖
```
Capítulos 1-3 → Notebook 01 → Exercícios propostos
Tempo: 6-8 horas
```

### **Semana 3-4: Estruturas** 🔄
```
Capítulos 4-6 → Notebook 02 → Exercícios propostos
Tempo: 10-12 horas
```

### **Semana 5-6: Métodos Avançados** 🔬
```
Capítulos 7-8 → Notebook 03 (exercícios 7.1-8.3)
Tempo: 10-12 horas
```

### **Semana 7-8: Aplicação Completa** 🚀
```
Capítulos 9-10 → Notebook 03 (projetos 10.1-10.2)
Projeto independente
Tempo: 12-16 horas
```

**Total:** 48-62 horas de estudo

---

## 🔍 Buscar por Tópico

### **Cinemática**
- Trajetória de projétil: Cap. 1 + Notebook 01, Ex. 1.1
- Queda livre: Cap. 5 + Notebook 02, Ex. 5.1
- Velocidade/Aceleração: Cap. 2, 4

### **Dinâmica**
- Forças: Cap. 3, 7
- Movimento com arrasto: Cap. 8 + Notebook 03, Ex. 10.2

### **Energética**
- Energia cinética/potencial: Cap. 7 + Notebook 03, Ex. 7.1
- Trabalho: Cap. 7

### **Oscilações**
- Pêndulo simples: Cap. 10 + Notebook 03, Ex. 10.1
- Oscilador harmônico: Cap. 8 (avançado)

### **Estatística**
- Média, variância, desvio padrão: Cap. 9
- Outliers: Cap. 9
- Regressão: Notebook 03, Ex. 10.1

### **Métodos Numéricos**
- Bisseção: Cap. 8 + Notebook 03, Ex. 8.1
- Diferenciação: Cap. 8 + Notebook 03, Ex. 8.2
- Integração: Cap. 8 + Notebook 03, Ex. 8.3
- EDOs: Cap. 8 + Notebook 03, Ex. 8.4 e 10.2

---

## ✅ Checklist de Aprendizado

Você completou o material quando conseguir:

- [ ] Escrever algoritmos em Português Estruturado
- [ ] Usar estruturas SE-SENÃO, PARA, ENQUANTO
- [ ] Trabalhar com vetores e matrizes
- [ ] Criar funções reutilizáveis
- [ ] Implementar método da bisseção
- [ ] Calcular derivadas numericamente
- [ ] Integrar numericamente
- [ ] Resolver EDOs com Euler
- [ ] Analisar dados estatisticamente
- [ ] Simular sistemas físicos completos
- [ ] Visualizar resultados com gráficos
- [ ] Documentar código adequadamente

---

## 📞 Suporte

### **Dúvidas sobre conceitos?**
→ Revise o capítulo correspondente na apostila

### **Dúvidas sobre sintaxe Portugol?**
→ Consulte exemplos na apostila + VisualG help

### **Dúvidas sobre Python?**
→ Veja os notebooks com código comentado

### **Dúvidas sobre Física?**
→ Consulte [INDICE_CONCEITOS_FISICA.md](INDICE_CONCEITOS_FISICA.md)

### **Problemas técnicos?**
→ Verifique [README.md](../README.md) - seção Requisitos Técnicos

---

## 📊 Estatísticas do Material

- **Apostila:** 90 páginas, 23.000 palavras
- **Capítulos:** 10 completos
- **Exemplos Portugol:** 30+
- **Exercícios Notebook:** 18 resolvidos + propostos
- **Fórmulas MathJax:** 100+
- **Projetos Integrados:** 3
- **Constantes Físicas:** 15+
- **Métodos Numéricos:** 5

**Tempo total de estudo:** 48-62 horas

---

## 🔗 Referências Rápidas

| Recurso | Link | Uso |
|---------|------|-----|
| Apostila Principal | [APOSTILA_ALGORITMOS_PROGRAMACAO.md](APOSTILA_ALGORITMOS_PROGRAMACAO.md) | Leitura principal |
| Índice de Conceitos | [INDICE_CONCEITOS_FISICA.md](INDICE_CONCEITOS_FISICA.md) | Referência rápida |
| Sumário Detalhado | [SUMARIO_CONTEUDO.md](SUMARIO_CONTEUDO.md) | Estrutura completa |
| Notebook 1 | [01_Conceitos_Basicos.ipynb](../notebooks/01_Conceitos_Basicos.ipynb) | Cap. 1-3 |
| Notebook 2 | [02_Estruturas_Controle_Repeticao.ipynb](../notebooks/02_Estruturas_Controle_Repeticao.ipynb) | Cap. 4-6 |
| Notebook 3 | [03_Metodos_Numericos_Projetos.ipynb](../notebooks/03_Metodos_Numericos_Projetos.ipynb) | Cap. 7-10 |
| Notebook 4 | [04_Circuito_RC.ipynb](../notebooks/04_Circuito_RC.ipynb) | Circuito RC |
| Notebook 5 | [05_Tratamento_Dados_Visualizacao.ipynb](../notebooks/05_Tratamento_Dados_Visualizacao.ipynb) | Dados e Visualização |
| Notebook 6 | [06_Projeto_Capstone_Fisica.ipynb](../notebooks/06_Projeto_Capstone_Fisica.ipynb) | Projeto Integrador |
| README | [README.md](../README.md) | Getting started |

---

## 🎯 Próximas Etapas Após Este Material

Parabéns por completar! Próximas disciplinas recomendadas:

1. **Computação Científica (Python avançado)**
   - SciPy, SymPy, Astropy
   - Simulações complexas

2. **Análise de Dados Experimentais**
   - Incertezas e propagação
   - Técnicas de ajuste avançadas

3. **Simulações em Dinâmica Molecular**
   - Integração de trajetórias
   - Propriedades termoquímicas

4. **Processamento de Imagens**
   - OpenCV, ImageJ
   - Análise de microscopia

5. **Machine Learning em Física**
   - Redes neurais
   - Classificação de dados

---

**Versão:** 1.0  
**Última atualização:** Abril de 2026  
**Status:** ✅ Completo

---

**Bom estudo! 🚀**

*"A programação é o elo entre a Física teórica e a experimentação prática"*
