Sunteți pe pagina 1din 20

LOM3260 – Computação científica em Python

Informações sobre o curso

Prof. Luiz T. F. Eleno

Departamento de Engenharia de Materiais


Escola de Engenharia de Lorena
Universidade de São Paulo

2018

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 1 / 20


Plano de aula

1 Objetivos

2 Programa Resumido

3 Bibliografia

4 Apoio extra-classe

5 Organização do curso

6 Calendário

7 Projeto de software

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 2 / 20


Plano de aula

1 Objetivos

2 Programa Resumido

3 Bibliografia

4 Apoio extra-classe

5 Organização do curso

6 Calendário

7 Projeto de software

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 3 / 20


Objetivos

A disciplina pretende:
Fornecer ao aluno uma introdução à computação científica moderna, usando um dos códigos mais
amigáveis e difundidos nos meios industrial e acadêmico: a linguagem Python e, principalmente, suas
bibliotecas numéricas e gráficas mais populares: numpy, scipy, matplotlib e tkinter. Ao final do
curso, o aluno estará capacitado a desenvolver programas complexos, de pequeno e médio porte,
para solucionar problemas de engenharia que envolvam “number crunching” de grandes conjuntos de
dados e criar correlações entre variáveis, usando métodos numéricos como ajuste de mínimos
quadrados multivariável, desenvolvimento de modelos dinâmicos e simulação numérica de
problemas em forma diferencial.

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 4 / 20


Plano de aula

1 Objetivos

2 Programa Resumido

3 Bibliografia

4 Apoio extra-classe

5 Organização do curso

6 Calendário

7 Projeto de software

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 5 / 20


Programa Resumido
Programação em Python:
1. Introdução à programação em Python
2. Palavras-chave em Python; rotinas e funções
3. Classes
4. numpy e o conceito de slicing e indexing de arrays
5. Gráficos e animações com matplotlib
6. Criação de interfaces gráficas com o usuário usando matplotlib.widgets e tkinter

Métodos numéricos:
1. Zeros de funções
2. Interpolação
3. Integração
4. Sistemas de equações lineares
5. Ajuste por mínimos quadrados
6. Sistemas de equações diferenciais

Implementação
1. códigos “caseiros”
2. usando as bibliotecas numpy e scipy, entre outras

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 6 / 20


Plano de aula

1 Objetivos

2 Programa Resumido

3 Bibliografia

4 Apoio extra-classe

5 Organização do curso

6 Calendário

7 Projeto de software

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 7 / 20


Bibliografia

1. Hans Petter Langtangen. A Primer on Scientific Programming with Python, 2nd ed, 2011.
2. Hans Petter Langtangen. Python Scripting for Computational Science, 2008.
3. Matt Telles. Python Power, 2008.
4. Mark Lutz. Programming Python, 3rd ed, 2006.
5. Jos Thijssen. Computational Physics, 2008.
6. Philipp O.J. Scherer. Computational Physics, 2013.
7. NumPy community, Numpy Reference, 2014.
8. Scipy community, Scipy Reference Guide, 2017.
9. John Hunter, Darren Dale, Eric Firing, Michael Droettboom, Matplotlib Manual, 2016.

Recursos online disponibilizados pelo Serviço de Bibliotecas da USP

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 8 / 20


Python
Uma linguagem precisa de bibliotecas

www.numpy.org

www.scipy.org

www.python.org www.matplotlib.org

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 9 / 20


Para saber mais: tutoriais

Tutoriais
Numpy:
I http://www.labri.fr/perso/nrougier/teaching/numpy/numpy.html

Matplotlib:
I http://www.labri.fr/perso/nrougier/teaching/matplotlib

Matplotlib animation:
I https://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 10 / 20


Plano de aula

1 Objetivos

2 Programa Resumido

3 Bibliografia

4 Apoio extra-classe

5 Organização do curso

6 Calendário

7 Projeto de software

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 11 / 20


Apoio extra-classe

Moodle da USP

Moodle Mobile app

https://edisciplinas.usp.br/course/view.php?id=63809

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 12 / 20


Plano de aula

1 Objetivos

2 Programa Resumido

3 Bibliografia

4 Apoio extra-classe

5 Organização do curso

6 Calendário

7 Projeto de software

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 13 / 20


Organização do curso
Método
O curso será ministrado na forma de aulas expositivas e aulas práticas no computador.
I É muito importante resolver exercícios em sala de aula e em casa!

Critério de avaliação
A nota final (N f ) na disciplina será composta da média de Listas de exercícios (L) e um Projeto
em equipe (P):
N f = 0.25L + 0.75P
A nota do projeto (P) tem duas partes:

P = 0.8Pe + 0.2Pi
sendo
I Pe : nota da equipe, atribuída pelo professor
I Pi : nota individual, atribuída pelos membros da equipe
F não podem ser todas iguais e max Pi = Pe
F diferença mínima de 0.15 ponto entre quaisquer duas notas

Requisitos para aprovação


N f ≥ 5 e frequência ≥ 70%;
Recuperação se 3 ≤ N f < 5 e frequência ≥ 70%.

Obs.: Nesse curso, por razões práticas, usaremos o ponto (.) como separador decimal, ao invés da vírgula (,). Mas isso não é correto
em outros contextos!
LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 14 / 20
Plano de aula

1 Objetivos

2 Programa Resumido

3 Bibliografia

4 Apoio extra-classe

5 Organização do curso

6 Calendário

7 Projeto de software

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 15 / 20


Calendário
Semana Data Atividade
1 02/08 Python e bibliotecas numéricas/gráficas
2 09/08 Condicionais, repetição e funções
3 16/08 Zero de funções
4 23/08 Interpolação
5 30/08 Entrega da Lista 1
— 06/09 Semana da pátria — não haverá aula
— 13/09 não haverá aula
— 20/09 Semana acadêmica — não haverá aula
6 27/09 Classes — Integração numérica
7 04/10 Sistemas de equações lineares
8 11/10 Entrega da Lista 2
9 18/10 Ajuste de curvas
10 25/10 Definição final dos projetos
11 01/11 Equações diferenciais ordinárias
12 08/11 Interfaces gráficas com o usuário
— 15/11 Feriado — não haverá aula
13 22/11 Entrega da Lista 3
14 29/11 Montagem dos projetos
15 06/12 Apresentação dos projetos

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 16 / 20


Plano de aula

1 Objetivos

2 Programa Resumido

3 Bibliografia

4 Apoio extra-classe

5 Organização do curso

6 Calendário

7 Projeto de software

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 17 / 20


Projeto de software
Arquivos
de entrada
Linha de
comando

Design TUI (Text-


based User Classes
Interface)
Rotinas

Notebooks
GUI (Graphi-
cal User Wrappers
Interface)
Entrada de
Código
dados (input)
Arquivos Funções
de confi-
guração

Objetivo:
a criação
do software
Algoritmos
começa aqui!
Projeto de
software
Licença
Alvo: usuário

Arquivos
de saída

Manual

Saída de
Documentação
dados (output)
Comentários
no código Gráficos

Terminal
Tutorial (linha de
comando)
Inline help Mensagens

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 18 / 20


Características do projeto:
Utilizar recursos da linguagem Python e suas bibliotecas
Implementar técnicas numéricas para a resolução de problemas de interesse
Prover uma interface com o usuário amigável e bem documentada
I recomenda-se markdown HTML para a documentação
Apresentar resultados em forma gráfica e textual

Método de trabalho — Software development team


O projeto deve ser realizado em equipe
Ele deve conter (pelo menos) as seguintes responsabilidades:
I desenvolvimento e implementação de algoritmos
I gerenciamento de documentação
I criação e layout de interfaces
I controle de versões e distribuição

Todos os projetos serão criados, armazenados e distribuídos usando o Github:

https://github.com/luizeleno/LOM3260
LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 19 / 20
Algumas ideias. . .

Algumas ideias devem servir apenas de inspiração para criar o próprio projeto:

LOM3260 (EEL-USP, 2018) Computação em Python — Info Prof. Luiz T. F. Eleno 20 / 20

S-ar putea să vă placă și