Find us on GitHub

Centro de Competência em Software Livre

Mai 27-28, 2016

9:00am - 6:00pm

Instrutores: Raniere Silva, Diego Rabatone Oliveira

Ajudantes: Thiago Gomes Verissimo, Haydee Svab

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: CCSL-IME/USP, Sala B-7. Rua do Matão, 1010. 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.

Diego Rabatone Oliveira é "hacker", engenheiro, ativista pelo Software Livre e por um Estado mais participativo e democrático. Em 2009 participou da fundação do PoliGNU - Grupo de Estudos de Software Livre da Poli-USP; e da comunidade Transparência Hacker, em 2012 participou da fundação do PoliGen - Grupo de Estudos de Gênero da Poli-USP, trabalhou no Estadão Dados - núcleo de jornalismo de dados do jornal O Estado de S.Paulo, e participa de diversas inciativas que visam dar mais autonomia tecnológica e política às pessoas.

Haydée Svab é Engenheira Civil com dupla formação em Arquitetura pela USP, mestra em Engenharia de Transportes também na Poli-USP e especialista em Democracia Participativa, Repúblicas e Movimentos Sociais pela UFMG. É membro da comunidade Transparência Hacker e co-fundadora do PoliGNU – Grupo de Estudos de Software Livre da Poli-USP, bem como do PoliGen – Grupo de Estudos de Gênero do PoliGNU. Enfim, uma militante que enfrenta o cotidiano lembrando sempre os motivos que a levaram a ser feminista, defensora dos direitos humanos (de todas gerações) e entusiasta de software, tecnologia e cultura livres: igualdade e liberdade.

Estudante de Mestrado em Engenharia de Estruturas na USP.

Thiago Gomes Veríssimo. Estudante de mestrado no Instituto de Física da USP na área de Física Atmosférica.

Programação

Day 1

09:00 Automatizando tarefas com a Unix shell (com Raniere Silva)
11:30 Intervalo para almoço¹
13:00 Construindo programas com R (com Raniere Silva)
16:00 RMarkdown (com Raniere Silva)
18:00 Happy hour

Day 2

09:00 Controle de versão com Git (com Raniere Silva)
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 Raniere Silva)
16:00 Encerramento
18:00 Happy hour

Etherpad: https://pad.software-carpentry.org/2016-ccsl.
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. A data do workshop está correta?

    Sim. O workshop ocorrerá na sexta, 27 de Maio, e sábado, 28 de Maio.

  2. Algum restaurante/cantina estará aberto?

    Provavelmente não. Recomendamos que traga sua marmita.

  3. Posso reservar mais de um ingresso no mesmo pedido?

    Não, pois precisamos de informações de todos os participantes.


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.

Agradecimentos

Apoio

Centro de Competência em Software Livre

Organização

Software Sustainability Institute