Ontem tivemos a comemoração do encerramento de mais um curso de Python no CEFET/RJ! Abaixo descrevo em maiores detalhes as 8 aulas que tivemos durante os meses de julho e agosto.
Inicialmente, as férias de julho me pareceram muito curtas para a realização do curso, mas, após o incentivo de alguns membros da
PythOnRio, decidi que valia a pena tentar.
A divulgação foi feita mais uma vez por e-mail, dessa vez contando com a ajuda de alguns amigos para espalhar a notícia. O número de pessoas atingidas foi bom, e conseguimos um quórum razoável. Ao mesmo tempo, entrei em contato com o coordenador da COLAN, o laboratório que usamos no começo do ano, e ele disse que eles estariam em manutenção nas férias, mas que era possível conciliar.
A
primeira aula começou com um atraso de quase uma hora, devido a alguns imprevistos na manutenção do laboratório, mas correu bem. Cerca de 10 alunos aprenderam sobre conceitos básicos de programação usando a linguagem C.
Na
segunda aula também tivemos problemas com o laboratório, e mais uma vez começamos bem atrasados. A surpresa foi o número de participantes: 18! Novo recorde! Sem cadeiras sobrando, vimos conceitos de orientação a objetos usando a linguagem C++. Vale ressaltar a presença do nosso amigo
Israel Teixeira, que apareceu para dar uma força!
Nesse mesmo dia, decidi experimentar
Programação em Pares com os alunos, visando aumentar a concentração, diminuir erros de sintaxe e integrar a turma. Comparando os resultados com os da primeira edição, a técnica se mostrou muito eficiente, e por isso a adotamos durante o restante do curso.
Na
terceira aula começamos a ver
Python (ufa!). Usando a versão
3.1 -- recém saída do forno -- vimos os conceitos básicos da linguagem e fizemos um comparativo com o que tínhamos visto em C.
Na
quarta aula vimos os conceitos de
strings, listas, tuplas e dicionários.
A
quinta aula apresentou orientação a objetos em Python, comparando com o que tínhamos visto em C++.
Na
sexta aula falamos sobre boas práticas de codificação e vimos como usar o Python para obter ajuda. Além disso, foram apresentados alguns módulos da biblioteca padrão.
Na reta final do curso, a idéia era que os alunos aprendessem a se virar sozinhos. Desse modo, na
sétima aula vimos como interpretar e tratar os erros e exceções em Python, além de mais alguns módulos da biblioteca padrão.
A
oitava e última aula foi a cereja no bolo. Falamos sobre tópicos avançados, incluindo programação funcional, herança múltipla e sobrecarga de operadores.
Infelizmente o número de participantes foi diminuindo ao longo das aulas, e no último dia tivemos só 4 presentes (além de 2 participantes da primeira edição, que compareceram e participaram da grande maioria das aulas). No geral, tivemos uma média de 6 a 8 alunos que compareceram às aulas com regularidade.
Para a próxima edição, vejo que podemos fazer algumas melhorias:
- Fazer a divulgação mais tête-à-tête e menos virtual. Isso pode ajudar a diminuir o número de "curiosos", e a identificar aqueles que realmente tem interesse em participar;
- Aproveitar algumas idéias do Henrique Bastos e fazer um mapeamento de expectativas no primeiro dia, e uma seção de feedback no último.
- Planejar o uso do laboratório com maior antecedência, para evitar alguns dos problemas que tivemos com infraestrutura.
- Analisar a viabilidade de conseguirmos um datashow para usarmos na aula, o que pode ajudar muito (atualmente estamos usando o quadro branco).
Nos dois últimos dias, levei uma versão do PortablePython e mostrei informalmente o IPython e o módulo Scipy. Todos gostaram da idéia de realizarmos um [mini]curso de Python para computação científica (leia-se: "Python ao invés de Matlab").
Mesmo com pouca gente, ao final do curso fomos comemorar no Pizza e Grill da Tijuca (veja as fotos abaixo).
E que venha o próximo!
Um abraço,
Alex Tercete