Ensino de Programação com Python
Na prática do ensino de programação - nível básico - é muito comum por parte dos professores universitários (como também de cursos técnicos e profissionalizantes) aplicar o Portugol na etapa que trata lógica e algoritmos, e a linguagem Pascal para implementar os algoritmos estudados.
Em primeiro lugar, acredito que o ensino - seja de que for - deve buscar o máximo possível aproveitar o que o aluno já carrega, o conhecimento prévio (e existem teorias “pedagógicas” sobre isso que me escapam agora). Isso quer dizer que:
x ← 10 (atribuir o valor 10 na variável x, no portugol)
é menos intuitivo do que simplesmente
x = 10
Veja que “x = 10″ aprendemos desde cedo na escola e já está mais do que claro para o aluno seu significado, ao invés da “←”, que passa a ser algo a mais que ele vai ter que associar e aprender. Pode ser um exemplo bobo, mas o princípio é aproveitar ao máximo o que o aluno já sabe.
Além disso, um dos argumentos para o uso do Portugol é - como o nome já diz - ser em português. Mas na verdade, nada impede o aluno de aprender a programar já com palavras em inglês, não é tão absurdo assim no início e é um treino, já que ele vai lidar com isso de qualquer forma. Outro aspecto é que o Portugol apenas “traduz” a linguagem Pascal, e por isso carrega ainda o peso das palavras e regras dessa linguagem, peso esse que, a meu ver, torna o processo de aprendizado mais complicado ainda. Coisas como “inicio-fim” ou “begin-end”, sinal de “;” no final das linhas, etc.
Aqui entra a linguagem Python. Escolhi e estou usando o Python no ensino de programação inicialmente pelos motivos a seguir (nessa ordem):
- A própria linguagem: fácil, enxuta, intuitiva e com regras simples.
- Ambiente interativo (idle ou shell) onde facilmente o aluno pode testar instruções separadamente sem precisar escrever um programa complexo e salvar em arquivo, como também não precisa compilar, já que Python é uma linguagem interpretada.
- Software Livre!
- Multiplataforma, se o aluno quiser usar o Linux, sem problema, inclusive é nativa em muitas distribuições, como o Ubuntu.
- É uma linguagem “útil”, não algo que ele vai aprender só nessa fase e esquecer, ele tem sim uma opção de produzir algo real, visto que com Python dá pra fazer aplicativos web e desktop, jogos etc.
- Muito material na Internet e uma comunidade bastante ativa. (e olha que nem falei que o Google usa! :P)
Esses motivos foram os suficientes para “fazer uma experiência”. Na prática, essa experiência de usar Python é muito melhor, muito mais satisfatória.
Primeiro que o Python está sendo aplicado no estudo do algoritmo e ao mesmo tempo na sua implementação, pulando a etapa de fazer algo em portugol e depois digitar em pascal. Com o IDLE aberto durante a aula toda, eles podem fazer testes, operações matemáticas simples, verificar o comportamento das variáveis, realizar operações lógicas em “tempo real”, e por aí vai. Exemplo:

O conjunto [ Linguagem Python + Ambiente Interativo ] torna a aula muito mais produtiva. Os alunos podem também fazer comentários sobre os códigos que estão testando (já um treino para a documentação) e ao final da aula podem salvar tudo que fizeram para estudar depois.
Esse post é o primeiro de uma série em que pretendo relatar mais sobre o uso do Python, postar exemplos de código e exercícios. Já no próximo colocarei uma série de referências sobre a linguagem para quem está começando.
Qualquer dúvida, sugestão ou crítica, já sabem, é só comentar! :)
August 15th, 2008 at 23:13 #Roberto
Parabéns pela iniciativa de romper com os padrões vigentes e inovar.
Sem dúvida será uma experiência enriquecedora para os alunos utilizar esta linguagem no aprendizado e dia-a-dia.
Difícil vai ser convencer o pessoal a voltar para o Java ;-)
August 15th, 2008 at 23:24 #Valdir
Obrigado Roberto,
Realmente, fazer a galera entrar no Java vai ser peso! :)
Grande Abraço
August 19th, 2008 at 11:11 #Referências para aprender Python - Sonho Binário
[…] o post anterior sobre Ensino de Programação com Python, coloco aqui algumas referências para a […]
August 31st, 2008 at 21:43 #Ensino de Programação com Python II - Sonho Binário
[…] a falar sobre o ensino de programação com Python, a experiência de ensinar programação usando o Python continua […]
September 22nd, 2008 at 11:24 #Sérgio Luiz Araújo Silva
Sensacional, seu blog vai direto pro meu leitor de RSS.
Além do ótimo conteúdo o visual é espetacular, bom mesmo!
September 23rd, 2008 at 8:34 #Valdir
Valeu Sérgio, muito obrigado! Também acompanho o vivaotux ha um bom tempo.
Abraços