Informações sobre o curso de programação em astronomia

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 objetivo 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.

Fomulário de inscrição

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