Skip to content
/ kit Public

Minicurso "Kit de sobrevivência digital para cientistas"

Notifications You must be signed in to change notification settings

compgeolab/kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Kit de sobrevivência digital para cientistas

Minicurso (15h) mininstrado na XXVII Escola de Verão de Geofísica do IAG - USP.

Instrutor: Leonardo Uieda

Monitores: Arthur Siqueira de Macêdo, Yago Moreira Castro

Inscrições até 25/11/2024: https://www.iag.usp.br/eventos/curso-extensao-escola-verao-2025

Objetivos

Ensinar noções básicas de diversas ferramentas digitais (shell/bash, git, GitHub, make, LaTeX) que podem poupar esforços e frustrações de pesquisadores, alunos e profissionais que lidam com dados (amplamente definido), além de potencializar sua produtividade e a robustez de seus fluxos de trabalho e lhes permitir colaborar em projetos de software livre desenvolvidos pela comunidade.

Prerequisitos

Este curso tem como público alvo graduandos, pós-graduandos, pós-doutorandos e profissionais atuantes das áreas de Geofísica, Geologia, Meteorologia, Astronomia ou outras áreas correlatas das Ciências Exatas. Assim, os prerequisitos são:

  • Conhecimento básico de programação (de preferência na linguagem Python): variáveis, funções, loops, criar gráficos. Os exemplos dados em aula utilizarão scripts e notebooks em Python mas não serão o foco das aulas.
  • Conhecimento básico de análise de dados: regressão linear, médias, desvio padrão. Os exemplos dados em aula utilizarão alguns desses conceitos mas eles não serão o foco das aulas.

Ementa

O curso tem como objetivo difundir o uso de algumas ferramentas computacionais que têm o potencial de facilitar a vida de profissionais e cientistas que lidam com dados e produção de textos técnicos e científicos. As ferramentas podem ser utilizadas em diversos contextos: profissional, ensino, estudos, pesquisa, extensão, etc. O programa do curso será:

  1. Uso do terminal e de shell scripts: Em qualquer sistema operacional, aprender a utilizar o terminal pode parecer arcaico mas pode ser extremamente eficaz para executar tarefas repetitivas e automatizar conjuntos de operações que são feitas com frequência. Aprender a navegar em um terminal e utilizar a linguagem Bash abrem portas para várias outras ferramentas úteis.
  2. Controle de versão e colaboração online com git e GitHub: Sistemas de controle de versão, como o git, servem para rastrear mudanças feitas a conjuntos de arquivos. Se utilizadas de maneira correta, podem fornecer fontes de backup e a segurança para alterar o conteúdo de arquivos sem o medo de perder a versão original. Pareados com plataformas online, como o GitHub e GitLab, o uso desses sistemas permite a colaboração em projetos de software, websites e até mesmo artigos, livros e teses.
  3. Automatização de workflows com Make: O programa Make é amplamente utilizado desde a década de 70 para automatizar fluxos de trabalho. O uso mais comum é para a compilação de códigos complexos, mas seu uso vai muito além disso. Com o Make, é possível automatizar tarefas comuns, como rodar scripts para produzir figuras, criar PDFs a partir de código LaTeX, etc.
  4. Criação de artigos, livros e teses com LaTeX: O LaTeX é um "typesetting system", que transforma código em PDFs. Embora seja mais trabalhoso de aprender do que softwares como Word, o fato do texto ser escrito em forma de código possui diversas vantagens: o mesmo texto pode ser usado para gerar documentos com temas diferentes, facilidade na utilização de referências cruzadas, geração automática de bibliografia e citações, numeração automática de equações, figuras e capítulos, etc.

O formato do curso conterá:

  • Aulas expositivas: Para ensinar uma ferramenta nova, o ministrante realizará uma demonstração ao vivo com os participantes seguindo em seus próprios computadores.
  • Exercícios: Intercalado com as aulas expositivas, os participantes receberão pequenos desafios e exercícios para serem realizados individualmente e em grupos.
  • Aplicações: O curso reservará parte do tempo para a aplicação das ferramentas ensinadas em problemas trazidos pelos participantes. Essas aplicações podem ser individuais ou compartilhadas com todos os participantes.

Ao final do curso, os participantes saberão como desenvolver projetos complexos em equipe e com fluxos de trabalho automatizados para produção de resultados e relatórios/teses/artigos de alta qualidade. As ferramentas aprendidas também formam a base para melhorar a reprodutibilidade de resultados e para a prática de Ciência Aberta.

Cronograma

O cronograma a seguir é um esboço e está sujeito a mudanças até a data do curso.

Dia 1 - O terminal e scripts em Bash

Dia 2 - Controle de versão com git e GitHub

Dia 3 - Automatização de tarefas com GNU Make

Dia 4 - Escrita científica com LaTeX

Dia 5 - Projetos individuais

O último dia estará reservado para que participantes tragam seus próprios projetos (artigos, dissertações, monografias, etc) aos quais desejem aplicar os conhecimentos adquiridos ao longo do curso. O instrutor e os monitores auxiliarão na implementação. Participantes que não tiverem projetos podem auxiliar em projetos de outras pessoas ou o instrutor pode sugerir algum projeto.

Bibliografia

About

Minicurso "Kit de sobrevivência digital para cientistas"

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published