Curso/progJorn

De PoliGNU Wiki
Ir para: navegação, pesquisa

Porque é importante aprender conceitos de programação? (texto)

Há muitas décadas atrás saber ler e escrever não eram habilidades fundamentais para as pessoas. Mas isso foi mudando com o tempo, e saber ler e escrever se tornou algo considerado básico e necessário, assim como conhecimentos mínimos matemáticos. Sem essas habilidades o exercício da cidadania e do convívio social ficam prejudicados.

Hoje passamos por mais uma mudança, na qual uma nova habilidade tem se tornado fundamental na vida das pessoas para que elas possam exercer com cada vez mais qualidade sua cidadania. Esta é a habilidade de lidar com equipamentos tecnológicos. Computadores, tablets, smartphones, todos são equipamentos que fazem intimamente fazem parte do dia a dia das pessoas, independente de suas formações.

Ter uma calculadora não emancipa as pessoas, o que o faz é o conhecimento dos fundamentos matemáticos para operá-la. Da mesma forma, possuir um equipamento eletrônico não traz necessariamente uma emancipação, visto que este é apenas uma ferramenta, e que é preciso saber lidar com ela.

Nesse sentido, debate-se cada vez mais a necessidade da inclusão digital e da alfabetização digital para que se possa viver em sociedade.

Ao olhar para o jornalismo, hoje o que está em voga é o jornalismo de dados, que compreende uma série de conceitos matemáticos e, cada dia mais, conhecimentos na área de tecnologia e programação.

Nenhuma pessoa nasce sabendo falar um ou mais idiomas, ou realizar operações matemáticas. Nós os aprendemos ao longo de nossas vidas, e com programação a situação é a mesma, precisamos nos alfabetizar nesta nova forma de comunicação, neste novo idioma. Assim, este módulo do curso pretende mostrar alguns conceitos básicos, mostrar algumas terminologias, realizar os primeiros experimentos e mostrar como ser autônomo no aprendizado e na resolução de problemas.

Software Livre (Vídeo 1 - c/ Slides)

Como o jornalismo de dados se beneficia com o software livre

  • O que é Software Livre?
  • As 4 Liberdades
  • Algumas Licenças
    • GPL
    • MIT
    • APACHE
    • BSD
  • Softwares livres para jornalismo de dados:
    • Tabula
    • OpenRefine (antigo Google Refine)

Arquivo:Curso prog jorn apres 1.odp

Vídeo da aula 1

Infraestrutura Web (Vídeo 2 c/ Slides)

Descrição básica de como funciona a internet e o que é preciso para colocar uma página "no ar".

  • Termos:
    • Servidor
    • Banco de dados
    • Domínio
    • DNS
    • Hospedagem/Hosting
    • Servidor Dedicado
    • Cloud
    • etc.

Arquivo:Curso prog jorn apres 2.odp

Vídeo da aula 2

Terminologias básicas (Vídeos 3 e 4 - c/ slides)

Explicação básica das principais terminologias da área de programação

  • Termos:
    • Scrappers
    • Formatos
      • csv
      • tsv
      • json
    • Linguagem de programação
      • html
      • css
      • javascript
      • python
      • ruby
    • Bibliotecas
    • Frameworks, Plataformas e Content Management Systems (CMS)
      • Wordpress
      • Django
      • Drupal
      • Ruby on Rails

Arquivo:Curso prog jorn apres 3.odp

Arquivo:Curso prog jorn apres 4.odp

Vídeo da aula 3

Vídeo da aula 4

Montando um scrapper e conceitos básicos de programação

Neste item utilizaremos um exemplo prático de como montar um scraper simples e junto deste exemplo serão introduzidos alguns conceitos básicos de programação como funções e variáveis. Em seguida utilizaremos os dados capturados para gerar uma visualização de dados partido de um exemplo pronto.

  • Criando um scrapper com google spreadsheet para capturar dados tabulares de um site governamental. (Vídeo 5 - screencast)
  • Salvando os dados como csv no computador. (Vídeo 6 - screencast)
  • Convertendo o csv para json usando ferramentas online (Vídeo 6 - screencast)
  • Partindo de um exemplo pronto de visualização (javascript+html+css) alterar os dados e mudar a visualização para os dados capturados (usando http://jsfiddle.net/) (Vídeos 7 e 8 - screencast)

Links:

  • Exemplo utilizado: [1]
  • Documentação oficial do dimple.js: [2]
  • Exemplos com a biblioteca Dimple: [3]
  • Conversor CSV para JSON: [4]
  • Página da Wikipédia com os dados de IDH: [5]

Algumas razões para se aprender a programar um scraper:

  • Se você tem que extrair dados de uma página com tabelas, com muita frequência;
  • Se a sua informações está separada em diversas páginas;
  • Se você deseja coletar os dados periodicamente (p.ex. mensalmente);
  • Se você deseja recursos como informes por email quando houver alterações em determinadas páginas;
  • e muitos outros motivos.

Outros conceitos que serão tratados durante o processo

  • Aonde encontrar informações e referências
  • Consultando a documentação oficial
  • Trabalhando sobre exemplo prontos.

Recursos (Textos)

Programação online

Referências

Locais para tirar dúvidas

http://stackoverflow.com/

Além das próprias listas de email e comunidades de cada tecnologia. Em geral na página oficial de cada "tecnologia" utilizada (bibliotecas, por exemplo) encontram-se os canais de comunicação com a própria comunidade.

Cursos e Vídeos

Curso de Visualização de dados UFMG

Curso da Escola de Verão em Computação do Departamento de Ciências da Computação da UFMG, ministrado pela Profa. Raquel Minardi====

Cursos online