Veja aqui o anúncio do curso para o 1 o trimestre de

Propaganda
TC­720 (30 h, 2 Créditos) TÓPICOS ESPECIAIS: PROGRAMAÇÃO CIENTÍFICA COM PYTHON, GNUPLOT, METAPOST, E LATEX
(1o Trimestre de 2009)
Prof. Nelson Luís Dias
HORÁRIO: 3as Feiras, 13:30­15:30.
LOCAL: Laboratório Didático de Computação (LDC), CESEC (PPGMNE).
NÚMERO MÁXIMO DE VAGAS: 12.
MOTIVAÇÃO: Python é uma linguagem moderna interpretada cuja simplicidade e ferramentas pré­
existentes permitem o desenvolvimento rápido de algoritmos, aumentando muito a eficiência de programação. A existência de módulos pré­compilados de aplicacações científicas torna­o, na prática, similar a Matlab, com as vantagens de ser de código aberto e gratuito. Discutiremos a utilização de Python no pré­ e pós­processamento de dados utilizados em programas compilados em C e Fortran; no interfaceamento com bibliotecas escritas nestas linguagens para maior eficiência; na produção de gŕaficos (GnuPlot e MetaPost) e relatórios e artigos (LaTeX). Requisitos: saber usar um computador. Esteja preparado/a para escrever seus próprios programas e rodá­los durante as aulas, no laboratório de computação do CESEC.
CRITÉRIO PARA NOTA:
Freqüência, e um paper completo (mínimo de 10 páginas A4; margens de 2.5cm, letras tamanho 12) sobre tema a ser escolhido entre uma das 12 aulas do curso (no início!). Cada aluno/a deverá escrever sobre um tema diferente.
PROGRAMAÇÃO TENTATIVA
Aula
Data
Conteúdo
1
Ter 03/mai
Pequeno histórico de linguagens de programação e outras ferramentas em aplicações científicas. Prós e contras. Arquivos de texto e binários. Codificações de caracteres acentuados: ISO8859­1 e UTF­8. As vantagens de uma filosofia: quase tudo é texto!
2
Ter 10/mai
Figuras em Postscript. Postscript é uma linguagem. É relativamente difícil programar em Postscript. Alternativas: desenhar com Metapost, plotar com Gnuplot. Filosofia: plotar a partir de arquivos­texto. Vantagens: velocidade, compacidade, programabilidade. Aprenda a ler os manuais!
3
Ter 17/mai
Exemplos com Metapost.
4
Ter 24/mai
Exemplos com Gnuplot.
5 Ter 31/mai
A herança de Pascal: escopo de variáveis em Fortran, Pascal, C e Python
A herança de Modula­2: módulos, e o escopo de funções/sub­rotinas em Fortran, Pascal, C e Python. Import × #include.
6
Ter 7/abr
Enfim Python: breve introdução à linguagem: tipos, variáveis. Armadilhas comuns para quem está acostumado com C/Fortran. Lists, Dictionaries e Sets. Functions e Classes. Tuples. Strings. Slicing. Declare um objeto no ponto em que você precisa dele. Funções: retorne tudo em Tuples. Argumentos: declare funções que funcionam com “qualquer tipo” de variável.
7
Ter 14/abr
Leitura e escritura (Files), e controle de fluxo (ifs, loops). Else também existe em whiles e fors. Simulando switch com Dictionaries. Lendo por linhas, e separando os campos: o pão­
com­manteiga do processamento de dados, e muito melhor do que planilhas eletrônicas.
8
Ter 21/abr
Juntando as ferramentas: Python+Gnuplot. Strings de múltiplas linhas. Abrir e fechar arquivos, e executar comandos. Usando Python para expandir Gnuplot com loops, leitura e escritura de variáveis. Exemplo com Séries de Fourier. Plotando arquivos em massa.
9 Ter 28/abr
Juntando as ferramentas: Python + Numpy, Python + SciPy. Usando módulos pré­
compilados em C e Fortran (o melhor de 2 mundos).
10
Ter 05/mai
Idéias simples em LaTeX: escrevendo pequenos documentos. As maneiras mais simples e úteis de modificar o visual. Não tente escolher onde vai a figura! As tabelas são a pior parte: usando booktabs e makecell para produzir tabelas com boa aparência, e bons antecedentes.
11
Ter 12/mai
Noweb, e programação literária: documentando seus programas em qualquer linguagem. Escrevendo o manual junto com o programa.
12
Ter 19/mai
Classes em Python, e uma forma de ressucitar os records de Pascal: programação orientada a objetos é útil em programação científica? A herança de uma base sexagesimal, e os detalhes que estragam gudo: tentando somar graus, minutos e segundos.
Download