Fork me on GitHub

Universidade Federal de Santa Catarina

Dez 11-12, 2014

8:00 am - 5:30 pm

Instructors: Diego Barneche, Raniere Silva

Helpers:

Informações gerais

Este curso intensivo de 2 dias do Software Carpentry vai introduzir aos participantes uma variedade de habilidades de computação que visam torná-los mais produtivos e eficientes em seu trabalho. Boa parte do foco lidará com aprimoramentos de escrita de programação usando a linguagem R como exemplo, mas também incluirá tópicos como Unix Shell, controle de versão em git e reproducibilidade. O curso não está projetado para ensinar os alunos a calcular as estatísticas específicas em R (embora alguns exemplos básicos serão cobertos). O conteúdo está focado em conceitos amplos de programação que podem ser adotados em diferentes ambientes. Espera-se que os participantes ajudem uns aos outros, e que apliquem o que aprenderam com seus próprios problemas de pesquisa durante e entre as sessões.

Quem: Este curso foi estruturado para alunos de pós-graduação e pesquisadores das Ciências a Vida. Note, por favor, que este curso não é um curso introdutório de R; o participante precisará de um conhecimento básico da linguagem R para que possa aproveitar ao máximo o conteúdo do curso. Entretanto, por favor não deixe que isso o assunte - se você gostaria de participar mas nunca utilizou R antes, você poderá, antes do curso, estudar o material do curso introdutório NiceR Code que está disponível online: 'Day 1' of the NiceR code 'Introduction to R'. Esse deve deixá-lo pronto para o nosso curso!

Onde: Auditório do BEG, CCB. Entrada para o campus fica na esquina entre a Rua Professor Lauro Caldeira de Andrara e a Rua João Pio Duarte Silva - entrada do bairro Córrego Grande). Nos prédios do CCB (MIP), procure o segundo bloco, andar térreo, corredor da direita, última sala do corredor. Localização detalhada em: OpenStreetMap ou Google Maps.

Pré-requisitos: TODOS os participantes deverão trazer consigo um laptop com uma série de programas e pacotes já instalados (listados abaixo). Esses são necessários para conformar com o Código de Conduta do Software Carpentry.

Contato: Por favor envie um email para diego.barneche@mq.edu.au para mais informações.


Cronograma

Dia 1

08:00 - 09:15 Introdução + Rstudio
09:15 - 9:30 Intervalo
09:30 - 12:00 Funções em R
12:00 - 13:00 Intervalo de almoço
13:00 - 14:00 Organização de projetos
14:00 - 15:15 Estrutura de controle
15:15 - 15:30 Intervalo
15:30 - 17:00 Repetindo padrões (plyr)
17:00 - 17:30 Discussão

Dia 2

08:00 - 9:30 Teste de funções
09:30 - 9:45 Intervalo
09:45 - 12:00 Programando em Unix Shell (básico)
12:00 - 13:00 Intervalo de almoço
13:00 - 15:00 Controle de versão com git
15:00 - 15:15 Intervalo
15:15 - 16:00 Exercícios com GitHub
16:00 - 17:00 Reproducibilidade com knitr
17:00 - 17:30 Encerramento

Etherpad: https://etherpad.mozilla.org/SWC-UFSC.
Nós utilizaremos este bloco do Etherpad para conversas, notas, compartilhamentos de URLs e código.


Conteúdo específico

Programando em R

  • Estrutura básica da linguagem R
  • Criando e utilizando funções
  • Lendo tabelas
  • Usando funções para modelos lineares e visualização de dados
  • Rotinas circulares e condicionais
  • Otimizando rotinas circulares usando funções
  • Testando funções
  • Reproducibilidade científica em relatórios e manuscritos

Unix Shell

Controle de Versão com git

  • Criando um repositório
  • Registrando mudanças de arquivos: add, commit, ...
  • Visualizando mudanças: status, diff, ...
  • Ignorando arquivos
  • Trabalhando online: clone, pull, push, ...
  • Resolvendo conflitos
  • Onde arquivar seu trabalho e por quê
  • Página de referência...

Configurações/pré-requisitos

Editor de Texto

Quando você está escrevendo código, é bom ter um editor de texto que é otimizado para escrever código, com características como destaque de cores automático para palavras-chave. O editor de texto padrão no Mac OS X e Linux é geralmente o Vim, que não é considerado muito intuitivo. Se você encontrar-se preso acidentalmente nele, tente digitar a tecla "Esc", seguido por ':q!' (dois pontos, 'q' minúsculo e ponto de exclamação), em seguida, apertando Enter (ou retorno) para voltar para o Shell.

Windows

nano é o editor instalado pelo Software Carpentry Installer, é um editor básico integrado às lições.

Notepad++ é um editor de código popular e gratuito para Windows. Esteja ciente de que você deve adicionar seu diretório de instalação para o diretório de programas do sistema, a fim de iniciá-lo na linha de comando (ou para que outras ferramentas como git possa iniciá-lo para você). Por favor, pergunte ao seu instrutor como fazer isso caso necessário.

Mac OS X

Recomendamos Text Wrangler ou Sublime Text. Rapidamente, você pode também utilizar nano, o qual deve estar pré-instalado na sua máquina.

Linux

Kate é uma opção para usuários de Linux. Assim como em Mac OS X, você pode também utilizar nano, o qual deve estar pré-instalado na sua máquina.

Bash Shell

Bash é um tipo de linguagem Shell de uso comum que lhe dá o poder de fazer tarefas simples mais rapidamente.

Windows

Instale git para Windows baixando e rodando o instalador. Este software fornecerá tanto git como Bash através do programa Git Bash.

Instalador do Software Carpentry

Este instalador necessita uma conexão ativa à internet.

Após instalar R e Git Bash:

  • Baixe o instalador.
  • Se o arquivo abrir diretamente no navegador selecione Arquivo→Salvar como para baixá-lo para seu computador.
  • Dê dois cliques no arquivo para rodar.

Mac OS X

O tipo de Shell padrão em todas versões do Mac OS X é o Bash, portanto não há necessidade de instalar nada. Você pode acessar o Bash diretamente do seu Terminal (encontrado em /Applicativos/Utilidades). Para sua conveniência, recomendamos que você mantenha seu Terminal disponível no dock durante o workshop.

Linux

O tipo de Shell padrão é geralmente Bash, mas se sua máquina é configurada diferentemente, você poderá rodar Bash abrindo seu Terminal e digitando Bash. Não há, portanto, necessidade de instalar nada.

Git

git é um sistema de controle de versão de sistemas que o permite rastrear quem, o que e quando mudanças foram feitas em arquivos e possui opções que facilitam a atualização de uma versão compartilhada ou pública do seu código em github.com.

Windows

git deve ser instalado no seu computador como parte da sua instalação de Bash descrita acima.

Mac OS X

Para OS X 10.8 e mais recentes, instale git para Mac baixando e rodando o instalador. Para versões mais antigas de OS X (10.5-10.7) use o instalador disponível mais recente para o seu OS disponível aqui. Use o instalador do Leopard para 10.5 e o instalador para Snow Leopard para 10.6-10.7.

Linux

Se git já não estiver disponível na sua máquina você pode tentar instalá-lo via o seu "distro's package manager". Para Debian/Ubuntu rode sudo apt-get install git e para Fedora rode sudo yum install git.

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

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

Mac OS X

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.