Como evidenciado, por exemplo, em recente artigo na revista Nature e pela última edição especial da revista Science, a crescente presença de problemas computacionais em astronomia e outras semelhantes torna comum que pesquisadores possam ter grandes benefícios pela aplicação dos conceitos e ferramentas desenvolvidos nas últimas décadas. Tópicos de grande importância comumente usados nas ciências da computação freqüentemente não alcançam os pesquisadores nas ciências computacionais (como astronomia), onde poderiam ser de grande utilidade.
Este curso tem como objetio apresentar os principais conceitos atuais de programação de uso comum a qualquer área em astronomia computacional (incluindo, por exemplo, modelos, processamento de dados e automação de tarefas). Os tópicos (listados abaixo) serão apresentados de forma independente de linguagem de programação (a primeira aula discute principalmente escolha de linguagem), mas há um viés, principalmente nos exemplos, para IDL, uma das linguagens mais atuais e relevantes em astronomia. Os tópicos serão apresentados (particularmente na escolha de exemplos) de formas relevantes para usos comuns em astronomia.
O curso não assume conhecimento específico em programação, embora seja também útil (provavelmente mais útil) àqueles que já tem experiência em computação astronômica, que poderão já identificar áreas em seu trabalho onde os conceitos apresentados seriam úteis. Os participantes são encorajados a trazer, durante as aulas ou antes delas, problemas específicos que já tenham encontrado nos tópicos discutidos, para que, caso adequado, possam ser discutidos e mostrados como exemplos.
Serão 5 aulas de 2 horas cada, às 12-14h de segundas, e 16-18h de quartas, a partir do dia 14 de março, no IAG. As aulas serão apresentadas por Paulo Penteado, pós-doutorando do IAG e um dos programadores em IDL mais conhecidos no mundo.
Para melhor planejamento do curso (inclusive reserva de sala), é preferível que as inscrições sejam feitas até dia 7 de março. Mas não há prazo limite.
Contato
pp.penteado (at) gmail.com
Formulário de avaliação do curso (anônimo, e pode ser usado para comentários).
Material das aulas
A versão atual ainda deve ser editada até as aulas. A versão usada para aulas será comentável com o Acrobat Reader.
1 – Linguagens
Motivação
Tópicos abordados
Tópicos omitidos
Opções e escolha de linguagens
Uso de bibliotecas
Referências
2 – Organização
Organização de código
Documentação
IDEs
Debug
Unit testing
3 – Variáveis
Tipos de variáveis
Representações de números e suas conseqüências
Ponteiros
Estruturas
Objetos
Solução dos exercícios
4 – Contêiners
Contêiners
Arrays
Listas
Mapas
Outros contêiners
Vetorização
Escolha de contêiners
5 – Strings e arquivos
Strings
Expressões regulares
Arquivos