Skip to content

Latest commit

 

History

History
412 lines (294 loc) · 16.6 KB

File metadata and controls

412 lines (294 loc) · 16.6 KB

PLANO DE ENSINO — FSC1189

Algoritmo e Programação para Licenciatura em Física

Semestre: 2026/1
Docente: Prof. Hans Rogério Zimermann
Instituição: Universidade Federal de Santa Maria (UFSM)
Centro: Centro de Ciências Naturais e Exatas (CCNE)
Departamento: Departamento de Física
Carga Horária Total: 60 horas (4h/semana)
Número de Créditos: 4 (4.0.0)
Período Letivo: 16 semanas


1. IDENTIFICAÇÃO

Aspecto Descrição
Código da disciplina FSC1189
Nome da disciplina Algoritmo e Programação
Turma Licenciatura em Física
Docente Prof. Hans Rogério Zimermann
E-mail hans@ufsm.br
Sala de aula A definir
Horários A definir (4 horas semanais)
Atendimento Mediante agendamento

2. EMENTA

Fundamentos de algoritmos e programação estruturada. Linguagens de programação. Desenvolvimento de programas de caráter científico-tecnológico para resolução de problemas em Física. Estruturas de dados. Métodos numéricos aplicados. Análise e visualização de dados. Projeto integrado com aplicações em Física.


3. OBJETIVOS

3.1 Objetivos Gerais

Capacitar o licenciando em Física para:

  1. Compreender e implementar algoritmos para resolução de problemas científicos
  2. Utilizar programação como ferramenta de investigação em Física
  3. Resolver equações diferenciais numericamente
  4. Analisar dados experimentais com rigor estatístico
  5. Comunicar resultados de forma clara através de visualizações

3.2 Objetivos Específicos por Módulo

Módulo 1 (Semanas 1-4): Fundamentos da Programação

  • Dominar conceitos de algoritmo, fluxograma e complexidade
  • Implementar lógica de programação em Portugol (VisualG) e Python
  • Declarar e manipular variáveis e tipos de dados
  • Utilizar estruturas condicionais (SE-SENÃO)
  • Aplicar validação de dados em contextos experimentais

Módulo 2 (Semanas 5-8): Estruturas de Iteração e Dados

  • Implementar loops (PARA, ENQUANTO, REPETIR-ATÉ)
  • Trabalhar com vetores e matrizes
  • Realizar operações vetoriais (produto escalar, magnitude)
  • Analisar convergência de séries numéricas
  • Utilizar estruturas de dados em problemas de Física

Módulo 3 (Semanas 9-12): Funções e Métodos Numéricos

  • Escrever e reutilizar funções/procedimentos
  • Implementar métodos numéricos: bisseção, diferenciação, integração
  • Resolver equações diferenciais ordinárias numericamente
  • Analisar dados experimentais: média, variância, outliers
  • Aplicar interpolação e regressão linear

Módulo 4 (Semanas 13-16): Aplicações Avançadas e Síntese

  • Simular sistemas físicos complexos
  • Implementar análise de Big-O empírica
  • Integrar múltiplas competências em projeto final
  • Comunicar resultados através de publicação de qualidade

4. CRONOGRAMA DETALHADO — 16 SEMANAS

MÓDULO 1: Fundamentos da Programação (Semanas 1-4)

Prova: P1 ao final da Semana 4

Semana Capítulos Tópicos Atividades Artefatos
1 Cap 1, 2 Introdução a algoritmos; lógica; tabelas-verdade; operadores relacionais Aula expositiva + lab VisualG (fluxograma manual); exercício em Portugol NB01 Ex 1.1
2 Cap 2, 3 Booleanos; variáveis (INTEIRO, REAL, CADEIA); escopo; tipos de dados Aula + lab (conversor de temperatura em VisualG) Lista 1
3 Cap 3, 4 Estruturas de controle SE-SENÃO; validação; casos de uso (estados da água, velocidades) Lab orientado com feedback NB02 Ex 4.1
4 Cap 4 Revisão estruturas de controle; exercícios integradores Lab avaliativo em VisualG P1 + Lista 2

MÓDULO 2: Estruturas de Iteração e Dados (Semanas 5-8)

Prova: P2 ao final da Semana 8

Semana Capítulos Tópicos Atividades Artefatos
5 Cap 5 Loops PARA; tabelas de queda livre; queda com arrasto; series temporais Aula + lab (tabelas em VisualG, gráficos em Python) NB02 Ex 5.1
6 Cap 5 ENQUANTO; REPETIR-ATÉ; série de Leibniz; convergência numérica Lab com análise de convergência Lista 3
7 Cap 6 Vetores e matrizes; produto escalar; magnitude 3D; coordenadas polares Lab com visualização vetorial NB02 Ex 6.1, 6.2
8 Cap 5, 6 Revisão integrada módulo 2 Lab de revisão orientada P2 + Lista 4

MÓDULO 3: Funções e Métodos Numéricos (Semanas 9-12)

Prova: P3 ao final da Semana 11 | Projeto 1: Semana 12

Semana Capítulos Tópicos Atividades Artefatos
9 Cap 7 Funções e procedimentos; escopo local/global; módulos; bibliotecas Aula + lab (módulo de energias em VisualG) NB03 Ex 7.1
10 Cap 8 Método da bisseção; diferenciação numérica (progressiva, central); análise de erro Lab com comparação de métodos Lista 5
11 Cap 8 Método de Euler; integração (Trapézio vs Simpson); EDOs; circuito RC Lab avaliativo (P3) P3 + NB04
12 Cap 9 Estatística descritiva; outliers (3σ, IQR); interpolação; regressão linear Projeto 1 — Análise experimental com dados de pêndulo Lista 6 + Projeto 1

Projeto 1 (Pêndulo Simples): Estimar g de dados experimentais usando NB05, análise de incerteza e regressão linear.


MÓDULO 4: Aplicações Avançadas e Projeto Final (Semanas 13-16)

Projeto 2: Semana 15 | Prova Final: Semana 16

Semana Capítulos Tópicos Atividades Artefatos
13 Cap 10 Simulação de projétil com arrasco; Euler; pêndulo amortecido Lab com simulação dinâmica NB03 Ex 10.1, 10.2
14 Cap 10 Oscilador amortecido (3 regimes); Big-O empírico; busca linear vs binária Análise de complexidade algorítmica Lista 7
15 Cap 10 Projeto Capstone — Integração completa; figura de publicação; orientação individual Entrega Projeto 2 Projeto 2
16 Caps 1-10 Revisão geral da disciplina; resolução de dúvidas Prova Final Prova Final

Projeto 2 (Capstone): Simulação integrada de sistema físico (escolha orientada: oscilador, circuito RC, órbita, etc.) com análise numérica completa.


5. METODOLOGIA

5.1 Abordagem Pedagógica

  • Aprendizagem Centrada no Aluno: Ênfase em fazer, experimentar e descobrir
  • Contextualização em Física: Todos os exemplos relacionados a fenômenos físicos reais
  • Método do Laboratório Orientado: Instruções estruturadas com liberdade progressiva
  • Comparação de Linguagens: Portugol (VisualG) → Python (Colab/Jupyter), mesmo problema, diferentes sintaxes

5.2 Recursos Didáticos

Recurso Descrição Quando
Apostila 10 capítulos (90 páginas) com fórmulas em MathJax Leitura prévia (flipped) + referência
Notebooks Jupyter 6 notebooks com exercícios resolvidos e propostos Execução em Colab ou local
GUIA_DEBUGGING Documento com 30+ erros comuns e como resolvê-los Consulta conforme necessário
VisualG IDE para Portugol (gratuito, Windows/Linux/macOS) Lab 1-8 (primeiros 2 módulos)
Google Colab Jupyter sem instalação; integrado ao Google Drive Lab 9-16 + projetos
Listas de Exercícios 7 listas (1 por módulo + integrador) Entrega semanal com feedback

5.3 Estrutura das Aulas

Cada semana segue o padrão (4 horas = 2 sessões de 2h ou 4 sessões de 1h):

  1. Aula Teórica (1h): Apresentação de conceitos, exemplos, discussão
  2. Laboratório Orientado (2-3h): Exercícios em VisualG ou Python com apoio do docente
  3. Atividade Extra (1h): Listas, revisão, ou tutoria

6. CRITÉRIOS E INSTRUMENTOS DE AVALIAÇÃO

6.1 Pesos e Distribuição

Instrumento Peso Semana Conteúdo
P1 — Prova 1 12% 4 Caps 1-4 (Fundamentos)
P2 — Prova 2 12% 8 Caps 5-6 (Iteração e Dados)
P3 — Prova 3 12% 11 Caps 7-8 (Métodos Numéricos)
Projeto 1 18% 12 Análise experimental (Pêndulo)
Projeto 2 26% 15 Simulação integrada (Capstone)
Listas (L01–L07) 10% Contínuo Todos os capítulos
Participação 10% Contínuo Frequência, engajamento
Total 100%

6.2 Critérios de Aprovação

  • Nota Final ≥ 6.0: Aprovado
  • Nota Final 4.0–5.9: Exame Final (conteúdo completo)
  • Nota Final < 4.0: Reprovado

Frequência mínima: 75% das aulas (conforme Reg. UFSM)

6.3 Descrição das Avaliações

Provas (P1, P2, P3) — 36% do total

  • Formato: 2-3 horas; misto (questões discursivas + problemas de programação)
  • Conteúdo: Capítulos específicos de cada módulo
  • Ambiente: Sala de aula com acesso a compiladores (VisualG ou Python online)
  • Critério: Corretude do algoritmo, eficiência, documentação clara

Exemplo P1:

  • (1) Desenhe fluxograma para validar temperatura dentro de intervalo
  • (2) Codifique em Portugol (VisualG) e execute
  • (3) Converta para Python; justifique diferenças

Projetos (Projeto 1 e 2) — 44% do total

Projeto 1 — Análise Experimental (18%):

  • Objetivo: Estimar aceleração gravitacional (g) a partir de dados de pêndulo simples
  • Entregáveis:
    • Notebook Jupyter (NB05) com análise completa
    • Código Python bem comentado
    • Gráficos profissionais (período vs comprimento, ajuste linear)
    • Relatório (1-2 páginas): resultados, incertezas, conclusão
  • Critério: Análise estatística correta, propagação de incerteza, regressão linear adequada

Projeto 2 — Capstone (26%):

  • Objetivo: Simulação numérica de um sistema físico integrado
  • Escolhas orientadas: Oscilador amortecido, circuito RC, órbita, queda com arrasto, etc.
  • Entregáveis:
    • Notebook Jupyter (NB03, NB04, NB06 ou customizado)
    • Código Python modular e documentado
    • Figuras de publicação (resolução alta, legendas em inglês)
    • Relatório técnico (3-4 páginas): teoria, método, resultados, análise de erro
  • Critério: Implementação correta, visualizações profissionais, análise crítica de resultados

Listas de Exercícios (L01–L07) — 10% do total

  • Frequência: Uma por semana (ou a cada 2 semanas em módulos densos)
  • Mix: Exercícios em Portugol + Python + teóricos
  • Contexto: Sempre relacionados a física
  • Entrega: Via Moodle ou GitHub
  • Avaliação: Presença + Corretude (não precisa 100% correto, mas mostrar esforço)

Exemplo L01 (Semana 2):

  • Ex 1: Fluxograma → Pseudocódigo → VisualG (lógica booleana)
  • Ex 2: Trajetória de projétil em Python (NB01)
  • Ex 3: Problema contextualizado em Física

Participação e Frequência — 10% do total

  • Presença em aulas (≥75%)
  • Engajamento em discussões
  • Perguntas durante aulas
  • Tentativa de exercícios mesmo se incorretos

6.4 Fórmula Final

Nota Final = 0.12×P1 + 0.12×P2 + 0.12×P3 + 0.18×Proj1 + 0.26×Proj2 + 0.10×Listas + 0.10×Participação

7. REFERÊNCIAS

7.1 Referência Principal

7.2 Livros Recomendados

  1. Guazzelli, M. & Luca, R. (2023). Numerical Methods for Physics and Engineering. Springer.
  2. McKinney, W. (2017). Python for Data Analysis (2nd ed.). O'Reilly Media.
  3. Recktenwald, G. W. (2006). Introduction to Scientific Computing. MIT OpenCourseWare.
  4. Landau, R. H., Páez, M. J., & Bordeianu, C. C. (2015). Computational Physics (3rd ed.). Wiley-VCH.

7.3 Documentação Online

7.4 Recursos Complementares


8. RECURSOS E INFRAESTRUTURA

8.1 Requisitos Técnicos

Ferramenta Custo Acesso Observação
VisualG Gratuito Windows, Linux, macOS Essencial para Semanas 1-8
Google Colab Gratuito Navegador + Google Drive Jupyter sem instalação
Jupyter Notebook Gratuito Local (pip) Alternativa a Colab
Python 3.10+ Gratuito Local ou Colab Linguagem principal Semanas 9-16
NumPy, Pandas, Matplotlib Gratuito pip install Bibliotecas científicas

8.2 Sala de Aula

  • Laboratório Informática com 25-30 computadores
  • Acesso à internet (para Google Colab)
  • Projetor e quadro branco

8.3 Repositório

Todos os materiais (apostila, notebooks, listas, este plano) estão disponíveis em:

https://github.com/hansufsm/algoritmos-programacao-fisica

Backup em Google Drive (compartilhado com alunos): FSC1189_2026_1


9. POLÍTICAS DE AVALIAÇÃO

9.1 Plágio e Integridade Acadêmica

  • Trabalhos copiados resultarão em nota 0
  • Colaboração é permitida, mas cada aluno deve entregar código original
  • Cite fontes externas (StackOverflow, blogs, etc.)
  • Dúvidas? Converse com o docente antes de entregar

9.2 Entrega de Trabalhos

  • Prazos: Respeitados conforme cronograma (extensões apenas por motivo justificado)
  • Formato: Notebooks .ipynb com código comentado + arquivos de suporte
  • Nomeação: L01_SeuNome.ipynb, Proj1_SeuNome.ipynb, etc.

9.3 Feedback e Recurso

  • Feedback de provas e listas: até 7 dias após avaliação
  • Recurso: até 5 dias após receber feedback
  • Reapresentação de projeto: não é permitida; feedback antes da entrega final

10. COMUNICAÇÃO E SUPORTE

10.1 Canais de Comunicação

Canal Frequência Uso
E-mail (hans@ufsm.br) 24h Dúvidas formais, prazos
Moodle/AVA Diário Avisos, fóruns, submissão
Atendimento presencial Agendado Dúvidas conceituais
GitHub Issues Conforme necessário Erros em código dos notebooks

10.2 Horas de Atendimento

  • Presencial: A definir (mínimo 2h/semana)
  • Remoto: Mediante agendamento por e-mail

11. ADAPTAÇÕES E INCLUSÃO

Este plano segue a Resolução UFSM nº 010/2017 sobre Acessibilidade Pedagógica:

  • Alunos com deficiência visual: Materiais em formato digital acessível (alt-text em imagens, descrição de gráficos)
  • Alunos com deficiência auditiva: Legendas opcionais em vídeos (se utilizados)
  • Alunos com transtornos funcionais: Prazos estendidos sob justificativa (até 15 dias)

Contacte o docente no início do semestre para acomodações necessárias.


12. DISPOSIÇÕES FINAIS

12.1 Atualização do Plano

Este plano pode ser ajustado conforme necessidade pedagógica, sem alterar prazos de avaliação ou cronograma geral. Mudanças serão comunicadas com antecedência mínima de 1 semana.

12.2 Responsabilidades do Aluno

  • Manter contato com o docente e acompanhar avisos
  • Respeitar prazos de entrega
  • Participar ativamente das aulas e laboratórios
  • Manter frequência ≥ 75%

12.3 Responsabilidades do Docente

  • Fornecer suporte acadêmico conforme disponibilidade
  • Avaliar com critérios claros e transparentes
  • Retornar feedback em prazo razoável
  • Manter ambiente respeitoso e inclusivo

Assinatura e Validação

Prof. Hans Rogério Zimermann
Departamento de Física — UFSM
hans@ufsm.br

Data de aprovação: 16 de abril de 2026
Versão: 1.0
Próxima revisão: Agosto de 2026


Anexo A: Mapa de Competências por Módulo

Competência Módulo 1 Módulo 2 Módulo 3 Módulo 4
Dominar conceitos de algoritmo
Implementar lógica condicional
Usar loops efetivamente
Trabalhar com vetores/matrizes
Implementar funções reutilizáveis
Resolver equações numericamente
Analisar dados experimentais
Simular sistemas complexos
Comunicar resultados cientificamente

Fim do Plano de Ensino