Find us on GitHub

Universidade Estadual de Campinas

Mai 23-24, 2016

9:00am - 5:00pm

Instrutores: Raniere Silva, Monique Oliveira, Kally Chung, Felipe Bocca, Renato Augusto Corrêa dos Santos

Ajudantes:

Informações gerais

A missão da Software Carpentry é ajudar cientistas e engenheiros a serem mais produtivos com menos sofrimento ao ensinar práticas laboratoriais para computação científica. Esse workshop prático irá cobrir conceitos e ferramentas, incluindo design de programas, controle de versão, gerenciamento de dados e automação de tarefas. Participantes são encorajados a se ajudarem e aplicarem o que eles aprenderem em suas próprias pesquisas.

Para mais informações sobre o que ensinamos e porque, leia nosso artigo "Best Practices for Scientific Computing".

Quem: Este curso é destinado alunos de graduação, pós-graduação e outros pesquisadores. Você não precisa ter nenhum conhecimento prévio das ferramentas que serão apresentadas nesse workshop.

Onde: Rua Sérgio Buarque de Holanda, 800 - Sala CB54 – Cidade Universitária "Zeferino Vaz" – Distr. Barão Geraldo – Campinas – São Paulo – Brasil. Obtenha direções em OpenStreetMap ou Google Maps.

Requerimentos: Participantes devem trazer um notebook (preferencialmente aquele que usam diariamente) que possua Windows, Mac OS X ou GNU/Linux como sistema operacional (tablets, Chromebook e outros dispositivos similares não servirão) no qual possuam privilégios administrativos (no qual possam instalar novos programas). Participantes devem instalar no notebook que utilizarão os programas listados abaixo antes do início do workshop. Participantes também precisam aceitar o Código de Conduta. da Software Carpentry.

Acessibilidade: Estamos comprometidos em fazer o workshop acessível a todos. Os organizadores do workshop certificaram-se que

  • A sala é acessível por cadeira de rodas.
  • Existe banheiros adaptados para cadeirantes disponíveis.

Se pudermos facilitar seu aprendizado disponibilizando material impresso em fonte grande, interprete para linguagem de sinais, sala para amamentação, ... por favor entre em contato e tentaremos providenciar seu pedido.

Contato: Por favor, envie um email para raniere@rgaiacs.com com suas dúvidas.


Instrutores

Raniere Silva é bacharel em Matemática Aplicada pela Universidade de Campinas e trabalha na Universidade de Manchester como Research Software Specialist onde contribui com o Software Sustainable Institute.

Monique Oliveira é Engenheira Agrícola formada pela Universidade Estadual de Campinas e Mestranda em Engenharia Agrícola na Universidade Estadual de Campinas.

Kally Chung é graduada em Matemática Aplicada e Computacional pela UNICAMP e atualmente trabalha como professora de matemática e em seu tempo livre, se dedica a programar.

Felipe Bocca é Engenheiro Agrícola na Faculdade de Engenharia Agrícola da Unicamp, onde faz doutorado aplicando Machine Learning na modelagem da resposta da cana-de-açúcar à aplicação de Nitrogênio.

Renato Augusto Corrêa dos Santos é bacharel e licenciado em Ciências Biológicas (Unesp Rio Claro), mestrando em Genética e Biologia Molecular (Unicamp), com ênfase em Bioinformática. Atua nas áreas de Genômica, Transcriptômica e Reconstrução de Redes Metabólicas. A parte computacional do seu trabalho é desenvolvida principalmente com as linguagens Perl, Python e R.

Programação

Day 1

09:00 Automatizando tarefas com a Unix shell (com Renato Augusto Corrêa dos Santos)
11:30 Intervalo para almoço
13:00 Construindo programas com R (com Felipe Bocca)
16:00 RMarkdown (com Monique Oliveira)

Day 2

09:00 Controle de versão com Git (com Kally Chung)
11:30 Intervalo para almoço
13:00 Colaboração no GitLab ou GitHub ou Bitbucket (com Raniere Silva)
14:00 Mais programas com R (com Felipe Bocca)
16:00 Encerramento

Etherpad: https://pad.software-carpentry.org/2016-unicamp.
Iremos utilizar o Etherpad listado acima para chat, anotações e compartilhamento de links e pequenos pedaços de código.


Resumo

Unix Shell

  • Arquivos e diretórios
  • Histórico e tab completion
  • Pipes e redirecionamento
  • Laços sobre arquivo
  • Criando e executando shell scripts
  • Encontrando "coisas"
  • Referências...

Programação em R

  • Trabalhando com vetores e data frames
  • Lendo e visualizando dados
  • Criando e usando funções
  • Laços e condicionais
  • Usando R pela linha de comando
  • Referências...

Controle de versão com Git

  • Criação de repositórios
  • Salvando mudanças de arquivos: add, commit, ...
  • Visualizando mudanças: status, diff, ...
  • Ignorando arquivos
  • Trabalhando na internet: clone, pull, push, ...
  • Resolvendo conflitos
  • Licenças Abertas
  • Onde hospedar seu trabalho e porque
  • Referências...

FAQ

  1. Consigo reembolso do workshop pelo Financiador do meu mestrado ou doutorado?

    Participantes de edições anteriores do workshop conseguiram reembolso. Entre em contato para que possamos fornecer os comprovantes que você precisa o quanto antes.

  2. Posso comprar mais de um ingresso na mesma compra?

    Sim. Entre em contato pois precisamos de informações de todos os participantes.

  3. Existe desconto para compra de mais de um ingresso?

    Sim. Entre em contato para maiores detalhes.

  4. Refeições estão inclusas no valor do ingresso?

    Não. O valor dos ingressos refere-se ao custo de passagens e hospedagem dos instrutores e doação pedida pela Software Carpentry.


Setup

Para participar de um workshop da Software Carpentry, você vai precisar dos seguintes programas instalados. Além dos softwares listados, você precisa de um navegador web atual.

Mantemos uma lista de problemas recorrentes que ocorrem durante a instalação como uma referência aos instrutores que pode ser útil na página wiki "Configuration Problems and Solutions".

Bash Shell

Bash é o terminal comumente utilizado. Utilizar um terminal lhe permite fazer tarefas mais complexas de forma mais rápida no seu computador.

Windows

Video Tutorial (em inglês)
  1. Baixe o instalador do Git para Windows.
  2. Execute o instalador e siga os passos abaixo:
    1. Selecione "Avançar".
    2. Selecione "Avançar".
    3. Selecione "Avançar".
    4. Selecione "Avançar".
    5. Selecione "Avançar".
    6. Selecione "Usar Git pela Prompt de Comando do Windows" e selecione "Avançar". Se você esquecer desse passo alguns programas que você utilizará no workshop não funcionaram corretamente. Se isso acontecer execute o instalador novamente e selecione a opção apropriada.
    7. Selecione "Avançar". Mantenha "Checkout Windows-style, commit Unix-style line endings" selecionado.
    8. Selecione "Use Windows' default console window" e selecione "Avançar".
    9. Selecione "Avançar".
    10. Selecione "Encerrar".

Isso irá prover o Git e o Bash no programa chamado Git Bash.

Mac OS X

O terminal padrão em todas as versões do Mac OS X é o bash e portanto você não precisa instalar nada. Você pode acessar o bash pelo Terminal encontrado em /Applications/Utilities. Veja o video tutorial (em inglês) sobre a instalação de Git para um exemplo de como abrir o Terminal. Você provavelmente vai querer manter o Terminal no dock da sua área de trabalho.

Linux

O terminal padrão normalmente é bash e você não precisa instalar nada. Se sua máquina estiver configurada de maneira diferente você pode abrir um terminal e digitar bash.

Git

Git é um sistema de controle de versão que permite você manter registro de quem faz uma alteração em qual arquivo e quando além de possuir opções para facilmente atualizar seu código em github.com. Você vai precisar de um navegador web suportado (versões atuais do Chrome, Firefox ou Safari, ou Internet Explorer 9 ou superior).

Windows

Git deve estar instalado no seu computador como parte da instalação do Bash (descrito acima).

Mac OS X

Video Tutorial (em inglês)

Para OS X 10.9 e superior, instale Git para Mac baixando e executando a versão mais recente do instalador "mavericks" dessa lista. Depois de instalar Git, não existirá nenhum atalho no seu diretório /Applications pois Git é um programa de linha de comando.

Para versões antigas do OS X (10.5-10.8) utilize o instalador mais recente disponível aqui que esteja marcado com "snow-leopard".

Linux

Se Git ainda não encontra-se disponível na sua máquina você pode instalá-lo via o gerenciador de pacotes da sua distribuição Para Debian/Ubuntu execute sudo apt-get install git e para Fedora execute sudo yum install git.

Text Editor

Quando você está escrevendo um código, é interessante ter um editor de texto otimizado para a escrita de código, com funcionalidades como utilização de cores para palavras chaves. O editor padrão no Mac OS X e Linux é o Vim, que não é famoso por ser intuitivo. Se você acidentalmente encontrar-se preso nele, tente pressionar ESC, digitar :q! e pressionar ENTER para retornar à linha de comando.

Windows

Video Tutorial (em inglês)

nano é um editor de texto básico e o que os instrutores utilizam por padrão nesse workshop. Para instalá-lo, baixe o Software Carpentry Windows installer e execute-o através de um clique duplo. Esse instalador requer uma conexão de internet ativa.

Outros editores que você pode utilizar são Notepad++ ou Sublime Text. Você irá precisar adicionar o diretório onde esses editores de texto foram instalados no caminho de aplicações do seu sistema. Peça a ajuda de um instrutor para fazer isso se necessitar.

Mac OS X

nano é um editor de texto básico e o que os instrutores utilizam por padrão nesse workshop. Veja o video tutorial (em inglês) para um exemplo de como abrir o nano. Ele deve estar pré-instalado na sua máquina.

Outros editores que também podem ser utilizados são Text Wrangler ou Sublime Text.

Linux

nano é um editor de texto básico e o que os instrutores utilizam por padrão nesse workshop. Ele deve estar pré-instalado na sua máquina.

Outros editores que também pode ser utilizados são Gedit, Kate ou Sublime Text.

R

R é uma linguagem de programação que é particularmente poderosa para exploração de dados, visualização, e análises estatísticas. Para interagir com R, nós utilizaremos o RStudio.

Windows

Video Tutorial (em inglês)

Instale R baixando e rodando este arquivo .exe disponível no CRAN. Além disso, por favor instale o RStudio IDE.

Mac OS X

Video Tutorial (em inglês)

Instale o R baixando e rodando este arquivo .pkg disponível no CRAN. Além disso, por favor instale o RStudio IDE.

Linux

Você pode baixar os arquivos binários para sua distribuição particular em CRAN. Ou você pode utilizar seu "package manager" (e.g. para Debian/Ubuntu rode sudo apt-get install r-base e para Fedora rode sudo yum install R). Além disso, por favor instale o RStudio IDE.

Restaurantes

Provavelmente o restaurante universitário é a melhor opção. Algumas outras opções são:

  • Bardana: Av. Romeu Tórtima, 1500.
  • Aulus: Av. Professor Atílio Martini, 939
  • Raízes Zen: Rua Antonio Pierozzi, 94. (Vegan)
  • Pepe Loco: Av. Dr. Romeu Tortima, 1550.
  • Subway: Av. Albino J. B. de Oliveira, 1556.
  • Panetteria Di Capri: R. Maria Tereza Dias da Silva, 530.
  • Romana: Rua Maria Tereza Dias da Silva, 790.

Agradecimentos

Apoio

EA2

Organização

Software Sustainability Institute