Git Product home page Git Product logo

matematica-especial's Introduction

Matemática Especial I (IME03-1366)

Disciplina da graduação em Oceanografia da UERJ.

Aulas:

  • Turma 1: Quarta 15:10 - 17:50 e Quinta 12:30 - 14:20
  • Turma 2: Sexta 7:50 - 12:20

ATENÇÃO: As aulas das duas turmas serão ministradas na sala 6145-2F a partir do dia 10/09/2015 6134F a partir do dia 16/09/2015.

Professor: Leonardo Uieda - Sala 2019A

Atendimento: Segunda 13:30 - 14:30

Laboratório: Os alunos podem utilizar o laboratório LAGEX (sala 2031A) para trabalhar nas práticas fora da aula. O LAGEX conta com computadores com Ubuntu Linux com git e Python já instalados. Também há mesas e internet para os que queiram trabalhar com seu próprio computador.

Lista de e-mail: Os alunos devem se cadastrar na lista de e-mail do curso. Use o link abaixo para cadastrar seu e-mail:

http://goo.gl/forms/I5epmPCg3e

TODOS OS COMUNICADOS SERÃO FEITOS ATRAVÉS DA LISTA DE E-MAIL.

http://www.phdcomics.com/comics.php?f=1790

Ementa

Introdução ao estudo da computação. Conceito de algoritmo e programação estruturada. Linguagens de programação. Procedimentos, funções e módulos. Erros nas aproximações numéricas. Resolução numérica de equações algébricas e transcendentes. Interpolação. Diferenciação e integração numérica. Resolução numérica de equações diferenciais. Resolução de triângulos esféricos. Solução numérica de sistemas lineares. Aplicações à oceanografia.

Objetivos

  • Aprender conceitos básicos de programação e pensamento computacional.
  • Aprender métodos para a solução numérica de problemas matemáticos.
  • Aplicar os conceitos de programação e cálculo numérico a problemas reais da oceanografia e ciências exatas.

Aulas

As aulas terão componentes expositivos e práticos, com 60-80% do tempo dedicado às atividades práticas. Vamos abordar um tema por semana. Cada tema terá uma atividade prática valendo nota (ver "Avaliação" abaixo).

Eu encorajo fortemente que vocês perguntem e discutam durante as aulas. Não deixe uma dúvida para depois. Minha política é que não existem perguntas "bestas", "irrelevantes", "óbvias". Não tolero comportamento ofensivo e a ridicularização dos colegas.

As práticas serão feitas em grupo, geralmente no computador. Por favor, tragam seus laptops para a aula. Alunos que não possuem computador não serão prejudicados. Precisaremos de ao menos um computador por grupo.

Textos, códigos, slides, etc estarão disponíveis no site da disciplina.

Avaliação

Teremos duas fontes de nota:

  1. Média das notas das atividades práticas (70% da nota)
  2. Projeto realizado ao longo do curso (30% da nota)

As partes práticas das aulas serão baseadas no tema da semana. Os alunos receberão instruções para realizar a prática referente ao tema e deverão entregar a solução ao final da aula (um por grupo). A média das práticas será feita com base nas notas de cada prática (uma por tema). Para não prejudicar alunos que faltarem eventualmente, vou descartar as duas menores notas.

Os projetos serão feitos em grupo, com um tema diferente para cada grupo (a definir). O projeto será desenvolvido ao longo do semestre.

Conduta

Assiduidade

Será cobrada presença em sala de aula através assinatura de lista de presença. Alunos que faltarem a uma aula receberão zero na atividade prática daquela aula. O limite de faltas em hora aula é de 18h (~3 aulas).

Plágio

Cuidado com cópias e plágio. Trabalhos que forem cópias integral ou parcial do trabalho de colegas ou de outras fontes receberão nota zero. Citem todas suas fontes de informação (mesmo que seja a Wikipedia).

Bibliografia

Software Carpentry v5.3: Version control with git

Software Carpentry v5.3: The Unix Shell

Software Carpentry v5.3: Programming with Python

Software Carpentry v4: Python

Python Scientific Lecture Notes. http://scipy-lectures.github.io/

Pilgrim, M. (2004), Dive Into Python, Apress, Berkeley, CA : New York. [disponível online]

Numerical Methods, Wikibooks, https://en.wikibooks.org/wiki/Numerical_Methods

Press, W. H., Teukolsky, S. A, Vetterling, W. T. e Flannery, B. P. Numerical recipes in C: The art of scientific computing, second edition, Cambridge University Press, 1992

Como em tudo na vida, o Google é seu melhor amigo. Há uma vastidão de recursos online sobre programação em Python. A maioria está em inglês então busquem com palavras chave nessa língua. Exemplos: "scientific python", "python programming".

Vocês vão se deparar diversas vezes com o site StackOverflow de perguntas e respostas. Esse site é um dos melhores e mais utilizados recursos para programação. As repostas são quase sempre de qualidade.

Dicas para usar o terminal: Notas de aula Métodos Computacionais em Física, UFRJ. Mais dicas e material na página da disciplina

Uma boa introdução ao linux em Português aqui

Software

Vocês precisarão de alguns programas para realizar as atividades práticas e o projeto:

  • Python: linguagem de programação que vamos utilizar
  • git: sistema de controle de versão
  • bash: "Bourne Again Shell" para executar programas na linha de comando
  • Algum editor de texto (Notepad, Gedit, etc)

Levarei os instaladores necessários durante a aula para que instalem tudo. Caso queriam instalar em outro computador, ou tentar instalar em casa, siga as instruções abaixo.

Vocês também devem criar uma conta gratuita no site github.com

Se tiver problemas, escreva para a lista de e-mails.

Windows

  • Baixe e instale o git for Windows. Com isso você terá acesso ao git e ao bash.
  • Baixe e instale o Anaconda Python Distribution. Selecione o instalador que reflete o seu sistema (Windows, 32 ou 64bits). Utilize esse guia para saber se seu computador é 32 ou 64bits. Tenha certeza de que está baixando a versão do Python 3.4, não a 2.7.
  • Baixe e instale o Notepad++

Linux

  • Você já deve ter o bash instalado.
  • Você também já deve ter um editor de texto instalado.
  • Instale o git pelo seu gerenciador de pacotes. Por exemplo, no Ubuntu e derivados digite em um terminal: sudo apt-get install git
  • Baixe e instale o Anaconda Python Distribution. Selecione o instalador que reflete o seu sistema (Linux, 32 ou 64bits). Tenha certeza de que está baixando a versão do Python 3.4, não a 2.7.

Mac

  • Você já deve ter o bash instalado. Procure o aplicativo "Terminal" em /Applications/Utilities.
  • Para instalar o git: MacOS > 10.9, baixe e instale o mais recente instalador com nome "mavericks" dessa lista. MacOS10.5-10.8, use o instalador com nome "snow-leopard" da lista.
  • Baixe e instale o editor de texto Sublime Text.
  • Baixe e instale o Anaconda Python Distribution. Selecione o instalador que reflete o seu sistema (Mac OSX). Tenha certeza de que está baixando a versão do Python 3.4, não a 2.7.

Projeto

Em breve.

Cronograma

Esse cronograma ainda não é definitivo. Provavelmente sofrerá alterações ao longo do semestre.

Aula Tema Leitura Prática
1 Apresentação e introdução a algoritmos e logica de programação Software Carpentry: Introdução sort
2 Unix shell (básico) e Controle de versão com git Introdução ao shell, Arquivos e pastas, Tutorial interativo de git, Lição de git git
3 Python: variáveis, loops, condições, leitura de arquivos e gráficos simples Lições de Python do Software Carpentry, Tutorial matplotlib, Galeria matplotlib python-intro
4 Python: estruturação de um programa, funções e programação defensiva
5 Python: numpy, mapas e gráficos avançados
6 Introdução a métodos numéricos. Integração
7 Solução de sistemas lineares
8 Método dos mínimos quadrados e Interpolação
9 Transformada de Fourier: parte 1
10 Transformada de Fourier: parte 2
11 Solução de equações diferenciais parciais: método das diferenças finitas
12 Solução numérica da equação de difusão
13 Solução numérica da equação da onda
14 Triângulos esféricos e representação de dados em mapas
15 Apresentação dos projetos

License

Creative Commons License
"Material didático da disciplina Matemática Especial" by Leonardo Uieda is licensed under a Creative Commons Attribution 4.0 International License.

matematica-especial's People

Contributors

leouieda avatar victortxa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.