Sobre

No dia 30 de Maio de 2015 acontecerá uma Oficina de Ferramentas Computacionais para Pesquisadores. Essa oficina será focada em três ferramentas básicas para desenvolvimento de software:

  • Bash
  • Git
  • Julia

O Bash é o terminal tradicinal dos sistemas GNU/Linux (a tela preta). As possibilidades de uso são ilimitadas, mas vamos focar no básico, tentando chegar até a criação de um script simples.

O Git é uma ferramenta para controlar versões de softwares e outros arquivos. Você consegue guardar versões anteriores dos seus arquivos, assim como versões alternativas, com uma estrutura escondida que melhora a organização e o design. Ela é usada principalmente para controle de versões de software, permitindo que cada programador saiba o que foi feito por quem e quando, mas também pode ser utilizado para controle de versões de artigos, teses e apresentações. O modelo de tese do IMECC - UNICAMP usa o Git, e este site está armazenado usando o Git. É uma das ferramentas principais para gerenciamento de versões, e muitos projetos importantes o usam. O Git pode ser usado apenas em seu computador, mas o uso comum envolve algum servidor remoto (principalmente para colaboração). A oficina tentará mostrar um pouco de cada.

Julia é uma nova linguagem de programação que tem o objetivo de ser rápido como C/Fortran, permitindo uma interfaca simples entre C e Fortran, e com sintaxe parecida com a de Matlab e Python. Como é uma linguagem livre, acreditamos ser uma escolha melhor que o Matlab para software livre. Também é uma boa linguagem inicial por ser prática, e tem muito espaço para expansão por nova.

Ministrantes

  • Eu - Trabalho com GNU/Linux desde minha graduação, e trabalho com software livre. Meus trabalhos individuais são de código aberto, e acredito que esse é o caminho mais correto para o desenvolvimento acadêmico.
  • Raniere Gaia - Estuda matemática aplicada na Universidade Estadual de Campinas, e trabalha em alguns projetos de nível internacional. Faz contribuições para Mozilla, e é um membro mantenedor do Software Carpentry.

Requerimentos

Para participar da oficina voce precisa de um computador portátil com alguns softwares instalados. Idealmente, um computador com algum tipo Unix (Ubuntu, Fedora, OSX) é melhor para o desenvolvimento na opinião do autor da página. Veja discussões. Além disso, os instrutores não tem o conhecimento para dar suporte completo no Windows (Aceitamos voluntários). (Nota: Teremos alguns computadores com sistema operacional Windows disponíveis, mas não teremos tempo para testar todos, ou instalar tudo que julgamos essencial).

Softwares que você precisa

  • Bash
    • No GNU/Linux, o Bash já deve estar instalado. Procure pelo terminal ou console no seu sistema. Quando ele abrir, digite

      bash --version
      

    Uma mensagem deve aparecer indicando qual versão está instalada.

    • No OSX, o terminal padrão também é o Bash. Você pode acessar pelo /Applications/Utilities/. Dica: coloque o terminal no dock.

    • No Windows existem algumas opções, uma delas é o Git Bash, que você já usa para o Git também.

  • Git
    • No Windows, instale o Git Bash, que falei acima. Nota: Uma das opções da instalações é sobre o fim de linha (line ending). Escolha a opção de seguir o padrão Unix (ou algo parecido).

    • No OSX, você pode instalar o Git para Mac baixando um instalador aqui.

    • Num computador tipo Unix, siga as instruções. Teste que o git foi instalado fazendo

      git --version
      

      no seu terminal.

  • Julia: Siga as instruções. Para testar, verifique que o Julia foi instalado abrindo o terminal de Julia, e verificando que o texto introdutório contém Version 0.x.x.

  • Um editor de texto, preferencialmente com suporte a UTF-8, código colorido automaticamente, indentação automática e inclusão de espaços no lugar de TAB. Existem algumas opções, e se você não tem preferência nenhuma, o atom.io é um bom para começar. Se for usá-lo, recomendamos buscar pelo pacote language-julia.

Certifique-se de ter essas ferramentas instaladas ANTES do evento. Entre em contato em caso de dúvidas.

Inscrições

As inscrições estão fechadas. Caso tenha interesse em participar, me mande um e-mail para confirmar se ainda temos vagas.

Cronograma

O evento acontecerá no dia 30 de Maio de 2015, seguindo o cronograma abaixo: (Nota: Mudamos o horário de Julia para melhor acomodar o cronograma).

  • 08:00 : Abertura
  • 08:30 : Bash (com Raniere)
  • 09:30 : Coffee Break
  • 10:00 : Julia (com Abel)
  • 11:30 : Almoço
  • 13:30 : Git Local (com Abel)
  • 15:00 : Coffee Break
  • 15:30 : Git Remoto (com Raniere)

Local

Utilizaremos o Laboratório de Matemática e Desenho (LAMADE) no bloco PC, sala PC12.