top of page

G.
Segundos passos em Python: organizando a produção de programas

22/10/24, das 8:00 às 10:00 e das 10:30 às 12:30

Date, time and location:

Language of instruction:

Português

Will it have an interpreter?

não

About the Course

Este curso apresenta ferramentas e 'melhores práticas' para elaboração e distribuição de software (em Python). Você já sabe como elaborar programas (em Python ou outra linguagem) e agora quer dar o segundo passo. Você quer elaborar programas para recolher/organizar dados, testar hipóteses de pesquisa ou, quem sabe, implementar aquele projeto que vai trazer fama e fortuna. Mas... esses programas podem crescer em complexidade rapidamente, frequentemente são elaborados por mais de uma pessoa, e, além disso, devem funcionar não só no seu computador, mas em qualquer computador.

Como fazer que, à medida que se tornem mais ambiciosos, seus projetos funcionem e que permaneçam gerenciáveis, confiáveis e portáveis? Como controlar o uso de seu projeto por terceiros?
As comunidades de software pregam certos mandamentos para garantir essas propriedades. Em sua essência, eles são simples e de fácil compreensão (documente seu código, teste seu código, use controle de versão, inclua uma licença...). Mas as inúmeras maneiras de implementá-los e a profusão de ferramentas no 'mercado' disponíveis para isso frequentemente ofuscam essa simplicidade e confundem os usuários. E porque esses aspectos da produção não dizem respeito à finalidade específica do projeto, em contextos não profissionais (por exemplo, em contextos acadêmicos...), acabam sendo mal compreendidos, postergados, detestados ou até ignorados. Essa situação complica, às vezes até compromete, tanto a produção quanto o produto e, em última análise, prejudica o compartilhamento de ideias etc.

Acreditamos que a melhor estratégia para lidar com esse lado mais burocrático da programação e garantir gerenciabilidade, confiabilidade e portabilidade seja a adoção das chamadas ‘melhores práticas’ a partir do início, usando as ferramentas recomendadas nos casos simples e avançando para casos mais complexos segundo a necessidade. Neste curso, nosso objetivo é colocar os participantes na rota dessas melhores práticas apresentando alguns dos mandamentos, ensinando a prática de algumas ferramentas & competências e apontando o caminho em frente.

Vamos focar os seguintes tópicos: padronização do ambiente de programação; uso da linha de comando; uso de gerenciador de versões (git) ; estrutura de projetos para distribuição ao público em geral ; software e direitos autorais.

Target audience

Qualquer pessoa que tenha interesse em programar. O único pré-requisito é ter conhecimento básico
de programação.

References

Beuzen, T and Tiffany Timbers (2023) Python Packages. CRC Press. (https://py-pkgs)


Irving, D. et al (2022) Research Software Engineering with Python. CRC Press.


Lutz, M. (2013) Learning Python 5th ed. O'Reilly Media.

Lecturer(s)

Cláudio Corrêa e Castro Gonçalves e Anna Beatriz Dimas Furtado

Cláudio Corrêa e Castro Gonçalves e Anna Beatriz Dimas Furtado

Anna Furtado (University of Galway) – Assistente de Pesquisa em Ciência de Dados Linguísticos e Linguística de Corpus para Tradução. Mestre em Tecnologia para Tradução e Interpretação pelas universidades de Wolverhampton e Málaga. Interesse em Semântica, Pragmática e NLP multilíngue.

Cláudio Corrêa (UnB) – Professor de Morfossintaxe do Inglês no Departamento de Línguas Estrangeiras e Tradução. Tem interesse em Sintaxe, Semântica, Pragmática e Linguística Computacional. Professor eventual do curso de Língua e Programação.

bottom of page