30
Mar

Curso de Python na UFMT - segunda aula


Ontem (30/03) aconteceu a segunda aula de Python que estou ministrando gratuitamente na UFMT.

Primeiramente eu ensinei como ter um ambiente de desenvolvimento para programar em Python no Windows usando NotePad++. E percebi que ensinar como preparar um ambiente de desenvolvimento é muito importante. Muitos dos que iniciam em Python não usam Linux (ainda) e também não sabem como configurar variáveis de ambiente entre outros passos que é necessário para ter um ambiente de desenvolvimento legal no Windows.

Depois de tudo instalado e configurado, resolvi passar uns exercícios para eles praticarem. Como na primeira aula os alunos viram quase toda a estrutura inicial da linguagem (string, comandos condicionais, laços de repetição, listas, dicionários ). Os exercícios que usei estão no wiki do PythonBrasil.

Na primeira aula percebi que muitos aprenderam o conteúdo rapidamente. Mas nessa segunda aula percebi que os alunos que não praticaram durante a semana, esqueceram muito do que foi passado.

Vejamos alguns exercícios passados:

Primeiro exercício

Quase todos conseguiram solucionar o primeiro exercício que era para ler duas strings, e exibir elas na tela e o tamanho delas na tela e informar se elas eram iguais e se tinham o mesmo tamanho.

Como muitos alunos vieram do C, eles ficaram surpreendidos ao ver que para comparar uma string com outra basta apenas usar o operador de comparação (==).

Nesse exercício alguns demoraram, mas todos resolveram.

Segundo exercício

O segundo exercício consistira em ler um nome e exibir na tela ao inverso e em maiúsculas.

Nesse exercício muitos resolveram rapidamente, mas quase todos chegaram a essa solução:

nome = raw_input('Digite seu nome:  ')

i = len(nome)
nome2 = ''
while i>=0:
    nome2 += nome[i]
    i -= 1
print nome2.upper()

Alguns chegaram a uma solução mais pythônica, que a meu ver é a solução ideal:

nome = raw_input('Digite seu nome: ')
print nome[::-1].upper()

Nesse post eu não vou falar sobre a maneira pythônica de se escrever um código, vou deixar isso para um outro post. Mas eu fiquei bem surpreso a ver que teve alunos que chegaram a solução acima.

Depois de mais alguns exercícios, comecei a passar conteúdo novo: funções. Chegamos a ver quase tudo sobre funções em Python: declaração, parâmetros, parâmetro padrão, recursividade, escopo, lambda, generators e etc.

Próximas aulas

Para finalizar, como o curso ainda terá mais três aulas que consistirá em praticar o que foi feito, veremos também orientação a objetos e para finalizar veremos PyGame. Eu deixei que eles escolhessem entre Django, PyGtk ou PyGame. Mas a maioria escolheu PyGame.

Quanto ao material eu ainda estou formulando ele para disponibilizar aqui no site. Quando estiver pronto eu publico o link aqui no blog para todos lerem.


8 Comentários


Deixe um comentário

Nome:

Comentário: