Find us on GitHub

Universidade de São Paulo

Set 10-11, 2015

9:00 am - 5:00 pm

Instrutores: Diego Rabatone Oliveira, Luciano Ramalho, Raniere Silva

Ajudantes: Anna Penna, Barbara Costa, Haydee Svab, Yuri Teixeira, Luciano Issoe

Aviso: A procura pelo workshop foi muito maior que o esperado. Se quando você visitar essa página os ingressos já tiverem esgotados recomendamos que você adicione seu nome na lista de espera. Entraremos em contato se conseguirmos mais lugares ou se alguém desistir.

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. Não é exigido nem esperado conhecimento prévio em nenhuma das ferramentas a serem apresentadas.

Onde: Centro Didático da Biologia - Rua do Matão, 303, São Paulo, SP, 05508-900. Obtenha direções em OpenStreetMap ou Google Maps.

Requisitos: Participantes devem trazer seu próprio notebook com os programas listados abaixo já instalados. Participantes também precisam aceitar o Código de Conduta da Software Carpentry. Como mencionado anteriormente, não é exigido nem esperado conhecimento prévio em nenhuma das ferramentas a serem apresentadas.

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


Programação

Seguiremos a mesma programação do workshop realizado no Berkeley Institute for Data Science

Dia 1 - 10/09, quinta-feira

09:00-12:00 Automatização de tarefas com o terminal Unix (com Raniere Silva)
12:00-13:00 Intervalo para almoço
13:00-16:00 Construindo programas com Python3 (com Luciano Ramalho)
16:00-17:00 Revisão
20:00-22:00 "Happy Hour" no Garoa Hacker Clube (*)

Dia 2 - 11/09, sexta-feira

09:00-12:00 Controle de Versão com Git (com Diego Rabatone Oliveira)
12:00-13:00 Intervalo para almoço
13:00-16:00 Testando programas em Python3 (com Raniere Silva)
16:00-17:00 Revisão

(*) O Garoa Hacker Clube é um hackerspace --- um espaço comunitário, aberto e colaborativo que disponibiliza infraestrutura para a realização de eventos e projetos em diversas áreas relacionadas a tecnologia ou que a criatividade nos permitir, fomentando a troca de conhecimento e o compartilhamento de ideias --- localizado na cidade de São Paulo. O plano para o "Happy Hour" é rachar uma pizza e algumas cervejas.

Etherpad: https://etherpad.mozilla.org/2015-09-10-usp.
Iremos utilizar o Etherpad listado acima para chat, anotações e compartilhamento de links e pequenos pedaços de código.

Twitter: Iremos utilizar #swc_usp para esse workshop.


Instrutores

Diego Rabatone Oliveira

Diego Rabatone Oliveira é bio "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.

Luciano

Luciano Ramalho é autor do livro Fluent Python (O'Reilly, 2014) e sócio/professor em Python.pro.br, oferecendo cursos in-company e também online. Desenvolveu soluções de publicação em larga escala para para o BOL, IDG Now, UOL, AOL Brasil e outros portais, usando Python desde 1998. Tem palestrado em eventos internacionais como PyCon US, OSCON, FISL e QCon. É membro votante da Python Software Foundation e co-fundador do Garoa Hacker Clube, o primeiro hackerspace do Brasil.

Raniere Silva

Raniere Silva é bacharel em matemática aplicada pela UNICAMP e instrutor da Software Carpentry desde 2013.


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 Python

  • Usando bibliotecas/pacotes
  • Trabalhando com vetores
  • Lendo e visualizando dados
  • Criando e usando funções
  • Laços e condicionais
  • Programação defensiva
  • Usando Python 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...

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

Baixe o instalador do Git para Windows e execute-o. Importante: na 6ª página do instalador (a página com o título "Configuring the terminal emulator...") selecione "Use Windows' default console window". Se você esquecer de selecionar essa opção os programas que você precisa para o workshop não serão instalados adequadamente. Se isso acontecer, execute novamente o instalador selecionando a opção apropriada dessa vez. Após a instalação você terá disponível no seu computador tanto o Git como o 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. 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

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

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. 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.

Python

Python é uma linguagem popular para computação científica, e ótima também para programação de propósito geral. Instalar todos os pacotes científicos individualmente pode ser um pouco difícil e por isso recomendamos utilizar um instalador "tudo-em-um".

Independente de como você escolher instalá-lo, certifique-se de instalar Python na versão 3.x e não a versão 2.x

Iremos ensinar Python utilizando o IPython notebook, um ambiente de programação utilizado através do navegador web. Para que isso funcione você vai precisar de um navegador web recente. As versões atuais do Chrome, Safari e Firefox são todos suportados (navegadores web antigos, incluindo Internet Explorer 9 e inferior não são).

Windows

  • Baixe e instale Anaconda.
  • Baixe o instalado do Python 3. Utilize todas as opções padrões de instalação exceto Fazer Anaconda seu interpretador Python padrão.

Mac OS X

  • Baixe e instale Anaconda.
  • Baixe o instalado do Python 3. Utilize todas as opções padrões de instalação.

Linux

Recomendamos o instalador "todo-em-um" Anaconda. (A instalação requerer o uso do shell e se você não estiver confortável baixe o instalador e vamos lhe ajudar a instalá-lo no workshop.)

  1. Baixe o instalador correspondente ao seu sistema operacional e salve-o no seu diretório de usuário. Baixe o instalado do Python 3.
  2. Abra um terminal.
  3. Digite
    bash Anaconda-
    e pressione a tecla TAB. O nome do arquivo será completado.
  4. Pressione ENTER. Siga as instruções que aparecerem no terminal. Quando aparecer dois pontos no fim da tela pressione a seta direcional para baixo até obter o fim do texto. Digite yes e pressione enter para aceitar a licença. Pressione enter para aceitar o diretório padrão para a instalação. Digite yes e pressione enter para adicionar Anaconda ao seu PATH (isso irá tornar Anaconda seu interpretador Python padrão).

Assim que você finalizar as instalação indicadas acima, por favor vá para esta página, que contém instruções de como testar se tudo foi instalado corretamente.

Agradecimentos

Esse workshop foi possível graças

Organização

PoliGNU - Grupo de Estudos de Software Livre da Poli/USP

Apoio

Centro de Competência em Software Livre - IME/USP

 

Instituto de Biociências da USP

 

Fundação para o Desenvolvimento Tecnológico da Engenharia - DTE