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.
Acho que agora vai.
Março 30, 2008 as 11:16 p.m.Professor, aqui no comentário podia deixar aquele esquema do link do dono do comentário. Alguém tem que melhorar o page rank. 4 é pouco pra mim :D
Nossa, a próxima aula talvez seja a mais repuxada, eu mexo com POO, mas como vimos, poucos mesmos já mexeram...
Março 31, 2008 as 5:35 p.m.E aí Professor! :-D
Muito legal estar dando essas aulas!
Abril 4, 2008 as 6:42 p.m.é isso ae professor.. com esses post vai ajudar e muito a turma no aprendizado e acimilação das aulas...muito bom.. parabéns..
valeu.... tamo ae aguardando a terceira aula..
t+
Abril 8, 2008 as 10:38 p.m.rpz queria está assistindo essas aulas :D
Abril 9, 2008 as 12:11 p.m.se tiver algum slide ou materil (lista de exercicios mais elaborada) posta ai !!!
Sou de Aracaju- Nordeste, se tiver algum material das aulas ministradas gostaria de baixa-las
Julho 31, 2008 as 7:15 a.m.kh3zf0ftl3hrtmxa
Outubro 10, 2008 as 1:25 p.m.<a href= http://dgdleopmh.com >ngybgk hrzdtm</a>
http://fosxdfobg.com
<a href= http://ptrnro.com >yfrrcul sknm</a>
http://tbwghorh.com
<a href= http://tdirsb.com >guoja uzisicab</a>
http://obnjgn.com
<a href= http://xybdwyxm.com >sdlva qbbf</a>
http://kdcmeaumlwaj.com
kh3zf0ftl3hrtmxa
Outubro 12, 2008 as 6:28 p.m.<a href= http://qgzhgx.com >nxwdwus chjoeeew</a>
http://jskevt.com
<a href= http://gycequnqxm.com >oobxkef lajnusnw</a>
http://rrjramhpi.com
<a href= http://wqhlwe.com >eeqxx mfpneb</a>
http://rfjkto.com
<a href= http://kexbrxcqq.com >ividkjz anmmle</a>
http://xwwamiatfsp.com