Universidade Federal do Paraná

01-03 de Agosto, 2016

9h00 - 17h30

Instructors: Abel Soares Siqueira, Fernando de Pol Mayer, Kally Chung

Helpers:

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: LAMIND (PC13) - Centro Politécnico, Curitiba/PR. Obtenha direções em OpenStreetMap ou Google Maps.

Requerimentos: Não é necessário levar computador para participar, pois teremos tudo instalado nos laboratórios. No entanto, aqueles que quiserem usar o próprio notebook devem instalar os softwares específicos antes do início do workshop. Também é necessário seguir o código de conduta do Software Carpentry: Code of Conduct.

Contato: Para mais informações, entre em contato pelo e-mail [email protected].


Instrutores

Abel Soares Siqueira é professor do Departamento de Matemática da UFPR e trabalha com software há pelo menos dez anos. Um de seus interesses são as ferramentas livres e como elas podem melhorar sua vida, seja como professor, aluno ou pesquisador.

Fernando de Pol Mayer é professor do Departamento de Estatística da UFPR, utiliza software livre em todas as etapas do seu trabalho, e acredita que mais pessoas podem se beneficiar com estas ferramentas.

Kally Chung é formada em Matemática Aplicada pela UNICAMP, e já trabalha com o Software Carpentry há 3 anos, seja como monitora ou instrutora.

Inscrições

As inscrições foram encerradas. Em breve lhe enviaremos um e-mail indicando a sua situação.


Cronograma

O cronograma abaixo é preliminar, e pode sofrer alterações. Avisaremos no início da oficina o calendário final.

Segunda

09:00 Abertura
10:30 Coffee break
11:00 Shell
12:30 Almoço
14:00 Julia - parte 1
15:30 Coffee break
16:00 R - parte 1

Terça

09:00 Git - parte 1
10:30 Coffee break
11:00 R - parte 2
12:30 Almoço
14:00 LaTeX - parte 1
15:30 Coffee break
16:00 LaTeX - parte 2

Quarta

09:00 Git - parte 2
10:30 Coffee break
11:00 Julia - parte 2
12:30 Almoço
14:00 Rmarkdown
15:30 Coffee break
16:00 Fechamento

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


Downloads:

Resumo

O Shell Unix

  • Arquivos e diretórios
  • Histórico de comandos e complementação com tab
  • Redirecionamento e pipes
  • Looping sobre arquivos
  • Criando e executando scripts shell
  • Achando coisas
  • Reference...

Controle de versão com Git

  • Criando um repositório
  • Gravando mudanças em arquivos: add, commit, ...
  • Visualizando mudanças: status, diff, ...
  • Ignorando arquivos
  • Trabalhando na web: clone, pull, push, ...
  • Resolvendo conflitos
  • Licensas abertas
  • Onde hospedar códigos, e porque
  • Reference...

RMarkdown

  • Markdown
  • Pandoc
  • knitr
  • Documentos dinâmicos com R e Markdown

Programando com o R

  • Trabalhando com vetores e data frames
  • Lendo e visualizando dados
  • Criando e usando funções
  • Estruturas de repetição e condicionais
  • Usando o R a partir da linha de comando
  • Reference...

LaTeX

  • Qual a importância?
  • Cabeçalho
  • Ambiente matemático
  • Adicionando imagens
  • Adicionado tabelas
  • Bibliografia
  • Slides

Julia

  • Álgebra Linear
  • Lendo e plotando dados
  • Criando e usando scripts
  • Criando e usando funções
  • Loops e condicionais

Instalações

O Workshop será feito no Laboratório de Matemática Industrial, e todos os softwares necessários estarão instalados lá. No entanto, se você quiser utilizar o seu notebook, você precisa ter acesso aos softwares descritos abaixo. Além disso, você precisará de um browser atualizado.

Atenção: A internet costuma não aguentar tantas pessoas conectadas de uma só vez, então a instalação na hora do evento não é recomendada.

Nós mantemos uma lista de problemas comuns que podem ocorrer durante a instalação, como uma referência para instrutores, e que pode ser encontrada na Página de problemas de configuração e soluções (em inglês).

O Shell Bash

O Bash é um shell muito utilizado, e que oferece o poder de realizar tarefas simples rapidamente.

Windows

Video Tutorial
  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".
  3. Se a sua variável de ambiente "HOME" não está configurada (ou você não sabe o que isso significa):
    1. Abra o prompt de comando (abra o menu inicial, digite cmd e aperte [Enter])
    2. Digite a seguinte linha na janela do prompt de comando, exatamente como mostrado:

      setx HOME "%USERPROFILE%"

    3. Aperte [Enter], você deverá ver SUCCESS: Specified value was saved.
    4. Saia do prompt de comando digitando exit e apertando [Enter]

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 com a instalação do 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).

Você precisará de uma conta no github.com para algumas partes da seção de Git. Contas básicas do GitHub são gratuitas. Nós encorajamos você a criar uma conta no GitHub se você ainda não tem uma. Por favor considere quais informações pessoais você gostaria de revelar. Por exemplo, você pode revisar as instruções para manter seu endereço de email privado no GitHub (em inglês).

Windows

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

Mac OS X

Video Tutorial

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.

Editor de Texto

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

nano é um editor básico e o padrão utilizado pelos instrutores durante o workshop. Para instalá-lo, baixe o Software Carpentry Windows installer e clique duas vezes no arquivo para executá-lo. Este instalador requer uma conexão ativa com a internet.

Outros editores que você pode usar são Notepad++, Atom ou Sublime Text. Fique atento pois você precisará adicionar o diretório de instalação destes editores ao path do sistema. Por favor, solicite ajuda ao seu instrutor para fazer isso.

Mac OS X

nano é um editor básico e o padrão utilizado pelos instrutores durante o workshop. Veja o vídeo tutorial de instalação do Git para um exemplo de como abrir o nano. Ele já deve estar pré-instalado.

Outros editores que você pode usar são Text Wrangler, Atom ou Sublime Text.

Linux

nano é um editor básico e o padrão utilizado pelos instrutores durante o workshop. Ele já deve estar pré-instalado.

Outros editores que você pode usar são Gedit, Atom, 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

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

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.

RMarkdown

O RMarkdown é um pacote do R que permite criar documentos dinâmicos, que misturam texto e códigos do R. A linguagem utilizada para escrever os documentos é a Markdown (em formato simples de texto pleno), com blocos de código R que são executados e incluídos no documento.

O RStudio IDE já traz as ferramentas necessárias para escrever documentos em RMarkdown. No entanto, será necessário instalar alguns pacotes extra: evaluate, digest, formatR, highr, markdown, stringr, yaml, htmltools, caTools, bitops, knitr, e rmarkdown.

Você pode instalar todos esses pacotes facilmente pelo próprio RStudio, seguindo estes passos:

  1. No menu do Rstudio vá em File > New File > R Markdown...
  2. Uma janela deverá se abrir perguntando se você deseja instalar estes pacotes para que o R Markdown funcione corretamente.
  3. Selecione "Yes"
Os pacotes deverão ser instalados automaticamente. Se tiver dificuldades com a abordagem acima, você pode tentar instalar os pacotes manualmente. Para um guia de instalação de pacotes, veja Gerenciamento de pacotes no R.

Julia

Julia e uma linguagem de programação especificamente poderosa para álgebra linear computacional, mas que também é bastante robusta, lidando com várias áreas diferentes.

Para instalar o Julia, em qualquer plataforma, entre no site de downloads e baixe a versão específica para seu computador. Você pode baixar o JunoLab, que gera uma interface gráfica para o Julia.

Você também precisa baixar o Jupyter, que também vai depender do seu sistema.

Agradecimentos

Organização

Universidade Federal do Paraná

Apoio

Software Carpentry Data Carpentry