---
title: "De volta à universidade"
date: 2023-02-08
language: pt
topics: []
source_url: https://willem.com/pt/2023-02-08_de-volta-a-universidade/
---
# De volta à universidade

*Mergulhar na programação científica*

> Este mês voltei à universidade para um curso especial de programação científica. Com tantos avanços recentes na aprendizagem automática (a que no PowerPoint se chama “IA”), incluindo o ChatGPT, pareceu-me o momento ideal para mergulhar na programação em Python. Vem comigo nesta viagem.

## Porquê Python para a programação científica?

O Python (https://www.python.org) ganhou imensa popularidade na comunidade científica, e com razão. A sua simplicidade e legibilidade tornam-no acessível a quem está a começar, sem perder o poder para enfrentar tarefas complexas. A versatilidade da linguagem permite a investigadores e cientistas implementar algoritmos e modelos com relativa facilidade.

Uma vasta gama de bibliotecas feitas para a computação científica, como NumPy (https://numpy.org), SciPy (https://scipy.org), Pandas (https://pandas.pydata.org) e Matplotlib (https://matplotlib.org), reforça a posição do Python neste domínio. Estas bibliotecas oferecem funções e ferramentas completas para análise de dados, modelação estatística e visualização, o que simplifica o processo de programação científica.

Em comparação com outras linguagens de programação, como o JavaScript ou o Ruby, muitas vezes usadas em contextos não científicos como o desenvolvimento web, o Python tem uma sintaxe mais direta. Isso permite que te concentres no problema em mãos, em vez de lutares com os pormenores da linguagem. Além disso, o vasto ecossistema científico do Python torna-o uma escolha mais adequada para aplicações de investigação.

Dá uma vista de olhos nos dois exemplos de código seguintes, um em C++ e o outro em Python 3. Cada programa faz exatamente o mesmo: pede o nome e a data de nascimento do utilizador, faz uma validação básica dos dados introduzidos e, no fim, revela a idade atual do utilizador.

![Código de exemplo em C++: determinar a idade do utilizador](https://willem.com/global/images/d7d44f31e43e.webp)

![Código de exemplo em Python 3: determinar a idade do utilizador](https://willem.com/global/images/779bab33d53c.webp)

É fácil ver o contraste de sintaxe entre as duas linguagens, com o Python a aproximar-se mais do inglês do dia a dia. Este aspeto do Python melhora muitas vezes a legibilidade e a compreensão para muita gente.

Outro fator que contribui para o sucesso do Python na programação científica é a sua comunidade ativa. Investigadores e programadores de várias áreas partilham conhecimento, dão apoio e contribuem para projetos de código aberto, criando um ambiente de colaboração e aprendizagem contínua.

## O curso

Ao longo do curso, exploraram-se os fundamentos absolutos da programação, resolvendo problemas de vários domínios científicos. No final, ficou uma base sólida dos princípios da programação, com a capacidade de os aplicar em diferentes áreas e projetos.

![A Universidade de Amesterdão no campus Science Park: os amigos do blogue vão reconhecer a minha bicicleta](https://willem.com/global/images/8534073ce0ee.webp)

Rever os fundamentos da programação, mesmo para programadores experientes (como eu), pode ser imensamente benéfico. Com o tempo, não é raro os programadores criarem hábitos ou atalhos que não respeitam as boas práticas. Ao voltar ao essencial, podes desaprender maus hábitos e restabelecer uma base sólida nos princípios da programação. Além disso, o ritmo acelerado da indústria tecnológica faz com que surjam constantemente inovações e atualizações. Ao rever o básico, os programadores veteranos podem manter-se a par dos avanços e metodologias mais recentes. Este processo de reavaliação dá também a oportunidade de encarar a programação com a folha em branco.

![Eu a assistir a uma aula de programação na universidade (colegas desfocados por razões de privacidade)](https://willem.com/global/images/9b78d21c6e59.webp)

O curso tinha vários módulos, começando pelo Nível 1, em que se escolhia entre ALGORITMOS, focado em decompor problemas intuitivos em passos que um computador consiga entender, e NÚMEROS, um módulo de orientação matemática que explorava as propriedades dos números sem exigir conhecimentos prévios de matemática. No Nível 2, a escolha era entre TEXTO, centrado no processamento de linguagem natural e na análise de sentimento de tweets, e INTEGRAÇÃO NUMÉRICA, onde se ensinavam técnicas importantes para determinar áreas sob funções quando a integração tradicional não chegava. O Nível 3 consistia em trabalhar com BIG DATA, analisando grandes conjuntos de dados e padrões meteorológicos nos Países Baixos. Um nível de bónus opcional, MOVIMENTO, oferecia uma simulação de escavar um túnel através do planeta e explorava problemas de física que se resolvem com ajuda do computador.

![As sessões semanais de laboratório são uma ótima oportunidade para manteres o ritmo nas tuas aventuras de programação, com a certeza de teres uma ajuda sempre que bates numa parede](https://willem.com/global/images/4cabf419ba55.webp)

![Bem na moda, com uma casa de banho neutra em termos de género, de vanguarda](https://willem.com/global/images/ccb637c740eb.webp)

## Conclusão

Seja qual for a nossa idade ou sabedoria, há sempre espaço para aprender algo de novo, sobretudo com avanços na aprendizagem automática como o GPT4. Além disso, voltar à universidade é uma mudança refrescante, com um contexto completamente diferente do meio comercial ou profissional em que costumo trabalhar. Abraça o lema: stay hungry, stay foolish!

![Sabedoria de casa de banho](https://willem.com/global/images/a8111c91accb.webp)
