Autonomia & Tecnologia

Dinâmica para Mini-Cursos de Python

6

A PythonRio participou da Semana Acadêmica da UGF realizando mini-cursos de Python para os alunos do curso de Ciência da Computação. Os cursos tiveram 3 dias de duração. Participei diretamente desta iniciativa com uma turma bastante diversificada e o resultado me impressionou bastante. Segue aqui o relato desta experiência.

Como havia alunos com diversos níveis de conhecimento, ficou difícil definir arbitrariamente uma abordagem inicial. Então, após uma rápida rodada de apresentações para todos saberem seus nomes, distribuí post-its grandes para que cada um registrasse suas expectativas sobre o curso.

Para alinhar todos os interesses, fiz a leitura de cada post-it, registrando no quadro algumas palavras-chaves que englobavam cada expectativa.

Iniciamos com a instalação do Portable Python que já vem com a ferramenta iPython. Rapidamente ficou muito claro que a escolha do iPython foi fundamental. Suas facilidades tornam muito mais interessantes as experimentações com pequenos trechos de código enquanto se aprende a sintaxe da linguagem.

O curso foi baseado no excelente guia desenvolvido pelo Gustavo “Kov” Noronha, que detalha de maneira bastante simples os pontos fundamentais da linguagem.

Tentei manter o processo bastante objetivo, focando em “mão na massa”, mas como a turma era diversificada, acabamos dedicando alguma atenção à conceitos como tipagem forte, compilação vs interpretação, etc.

Esta experiência me convenceu de que é importante sim explicar para os alunos, mesmo que iniciantes, como as coisas são realmente ligadas. Não é necessário muito detalhe, mas explicar por exemplo que:

  • uma variável no Python está mais relacionada com uma etiqueta colada em um objeto do que com um continente de dados;
  • strings são objetos imutáveis;
  • concatenar strings com “+” pode gerar efeitos devastadores;
  • açúcar sintático é muito bom! Não engorda ao mesmo tempo que deixa o código mais saboroso.

Foi interessante observar que conforme os “mistérios” da linguagem iam sendo desvendados, valores filosóficos ligados ao processo de desenvolvimento foram percebidos e a expressividade do Python acabou evidenciada. Isso não seria possível sem investigar como as coisas funcionam por dentro. Tratar apenas da sintaxe, evitando “expor complexidade” acabaria por apresentar o Python como uma linguagem de script como outra qualquer. Além disso, muita coisa teria que ser “acreditada” e consequentemente decorada. O processo de aprendizado está diretamente ligado com a associação de causas e efeitos, e isso é fundamental para gerar conhecimento.

Por conta disso, o terceiro e último dia virou um debate. Quanto mais experimentávamos, mais “e se fizesse assim” apareciam para verificar a real compreensão do código. Muito construtivo!!!

No final, como em um bom método ágil, submeti uma fichinha de avaliação onde o pessoal pôde dar sugestões e indicar o que funcionou bem e o que poderia melhorar. No geral houve um consenso: todos gostaram muito, mas o tempo foi curto e seria interessante resolver algum problema real durante o curso.

[]’s!

você pode gostar também