Laboratório Virtual de Métodos Numéricos - LVMN
Contents
Laboratório Virtual de Métodos Numéricos - LVMN#
O Laboratório Virtual de Métodos Numéricos - LVMN é constituído de uma coleção de materiais digitais para cursos de graduação em ciências exatas, computacionais e engenharias que possuam disciplinas de métodos numéricos ou afins em seus currículos.
Sobre o curso#
Este conteúdo é ensinado na disciplina Cálculo Numérico (GDCOC0072) ministrada pelo Prof. Gustavo Oliveira (UFPB/CI/DCC). O material começou a ser desenvolvido pelo professor no âmbito do Projeto Numbiosis em 2017. Até o ano de 2020, recebeu suporte do Programa Institucional de Monitoria com contribuições ativas. Desde então, o projeto segue com suporte reduzido e possui atualizações esporádicas. Aplicações em javascript que simulam diversos métodos do curso foram desenvolvidas com uma contribuição considerável do egresso Vinícius Veríssimo e estão disponíveis aqui.
Objetivos do LVMN#
Os objetivos gerais do LVMN são:
Apresentar o universo dos métodos numéricos a estudantes de graduação em ciências exatas;
Estimular a aprendizagem ativa através da resolução de projetos e problemas do mundo real; e
Fomentar a maturidade do pensamento computacional e as habilidades de programação através do ecossistema Python para métodos numéricos;
Programa geral do curso#
O curso contém uma série de materiais educativos que estimulam várias habilidades e proporcionam que estudantes com necessidades distintas de aprendizagem encontrem o recurso mais adequuado para si. O conteúdo está organizado em cadernos interativos que incluem:
exemplos teóricos e aplicados;
banco de dados de problemas reais;
algoritmos demonstrativos;
receitas de código;
sessões práticas dedicadas;
dicas de programação e
recortes suplementares.
O curso cobre não apenas os assuntos clássicos que costumam ser ensinados em disciplinas equivalentes em qualquer curso superior de universidades nacionais ou estrangeiras, mas também traz inserções sobre assuntos modernos que se entrelaçam para produzir uma engenharia cada vez mais centrada em dados. O livro-texto pretende mostrar que conceitos tradicionais são a base para os métodos numéricos de nova geração, que criam interdisciplinaridade com temáticas do estado-da-arte, tais como aprendizado de máquina, redes neurais informadas pela física, modelos de ordem reduzida e outras técnicas que fazem interface com a ciência da computação e outaas áreas aplicadas.
Abaixo vemos a estrutura do livro-texto organizada em seis partes maiores:
I. Modelagem e computação#
II. Determinação de raízes de equações unidimensionais#
III. Solução de sistemas de equações multidimensionais#
IV. Ajuste de curvas#
V. Fórmulas de integração numérica#
VI. Diferenciação numérica e solução de equações diferenciais#
Code sessions#
As sessões de código (code sessions) são aulas dedicadas ao estudo de funções de utilidade predefinidas em módulos Python para resolução direta de problemas aplicados. Essas funções são apresentadas como “receitas prontas” que abrem caminhos para implementações de maior complexidade.
Listas de exercícios#
Estes cadernos interativos contém o solucionário matemático e computacional de alguns exercícios gerais de menor complexidade. As listas são apenas para fixação de conceitos.
Obs.: este conteúdo será descontinuado no futuro.
Conteúdo Extra#
Alguns materiais complementares não contemplados no curso regular ou não explorados com maior detalhamento são fornecidos aqui para aguçar o interesse de estudantes para temas que orbitam ao redor dos métodos numéricos e são úteis para aplicações gerais.
Recortes#
Os recortes contemplam curiosidades ou anedotas sobre tópicos variados. Acesse-os pela barra lateral de navegação.
Obs.: este conteúdo está sendo gradualmente incorporado no livro-texto e será descontinuado no futuro.
Livro complementar#
Python é a linguagem escolhida para o curso devido à sua disponibilidade gratuita, versatilidade e facilidade de aprendizagem. Como forma de nivelamento dos estudantes que não possuem experiência com Python, o livro Introdução à Linguagem Python para Ciências Computacionais e Engenharia, traduzido pelo professor, tem o propósito de fornecer conhecimento básico da linguagem para uso no curso e uma oportunidade de estudo paralelo. Caso você se enquadre neste grupo de estudantes, não deixe de consultar este material.
Como contribuir?#
O projeto Numbiosis não recebe financiamento direto para bolsas. Todo o conteúdo é desenvolvido pelo Prof. Gustavo Oliveira e alunos (monitores e/ou tutores bolsistas ou voluntários, bem como aqueles que se matriculam no curso e contribuem com melhorias). O material passa por revisões periodicamente, mas possui suporte limitado.
Você é estudante da UFPB e gostaria de contribuir com o projeto? Entre em contato com o Prof. Gustavo.
Alguns temas abertos no âmbito do projeto Numbiosis#
Implementação de gráficos interativos para visualização 3D de processos iterativos.
Desenvolvimento de APIs para integração de códigos da base Numbiosis em Github/Gitlab.
Configuração de web server JupyterHub para hospedagem de materiais para mini-cursos remotos.
Desenvolvimento de códigos demonstrativos em Python para aplicações em Engenharias.
Geração de material didático portável (projeto de ensino).
Integração de ferramentas de autograding.
Programação orientada a objetos para criação de smart courses (módulos para geração de questões customizadas, avaliações e compilações em Latex).
Iniciação científica e outros projetos#
Consulte projetos nos horizontes estratégicos do TRIL Lab. Estamos no Centro de Informática da UFPB. Alguns temas de interesse são:
Computação científica para aplicações em engenharia
Ciência de dados para o setor energético
Dinâmica dos fluidos computacional