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):

  1. A própria linguagem: fácil, enxuta, intuitiva e com regras simples.
  2. 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.
  3. Software Livre!
  4. Multiplataforma, se o aluno quiser usar o Linux, sem problema, inclusive é nativa em muitas distribuições, como o Ubuntu.
  5. É 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.
  6. 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:

idle_python.gif

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! :)

Posted in web at August 15th, 2008. Trackback URI: trackback
Tags: , ,


6 Responses to “Ensino de Programação com Python”

  1. 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 ;-)

  2. August 15th, 2008 at 23:24 #Valdir

    Obrigado Roberto,

    Realmente, fazer a galera entrar no Java vai ser peso! :)

    Grande Abraço

  3. 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 […]

  4. 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 […]

  5. 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!

  6. September 23rd, 2008 at 8:34 #Valdir

    Valeu Sérgio, muito obrigado! Também acompanho o vivaotux ha um bom tempo.

    Abraços

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>