Aula 8 principios_programacao - Programação 1

Post on 11-Jun-2015

238 views 0 download

description

Aulas da Disciplina de Programação I do Professor Rodrigo Paes, UFAL

Transcript of Aula 8 principios_programacao - Programação 1

  • 1. Princpios para aprender a programar Rodrigo de Barros Paes rodrigo@ic.ufal.br

2. Introduo Programao uma forma de pensamento Aprender os comandos no aprender a programar Da mesma forma que aprender sobre pincis no aprender a pintar rodrigo@ic.ufal.br 3. Introduo As pessoas entendem o que elas vem Se um programador no pode ver o que um programa est fazendo, no pode entend-lo rodrigo@ic.ufal.br 4. Introduo Objetivos desta disciplina de programao Encorajar e auxiliar no desenvolvimento de novas maneiras de pensamento Auxiliar no entendimento da execuo dos programas rodrigo@ic.ufal.br 5. Princpios Vocabulrio Qual o significado do que voc l? Entenda o fluxo O que acontece quando ? Veja o estado O que o computador est pensando ? Crie de forma incremental Comece pequeno, teste, aumente um pouco, teste Do contreto ao abstrato Comearemos sempre do concreto e depois generalizaremos rodrigo@ic.ufal.br 6. Vocabulrio Dvidas? rodrigo@ic.ufal.br 7. Vocabulrio Imagine se voc compra um microondas V apertandos os botes pra ver o que acontece Pronto, agora voc sabe cozinhar rodrigo@ic.ufal.br 8. Vocabulrio Aprender a cozinhar no chutar a funcionalidade dos botes entender como os ingredientes podem ser combinados Na sua cabea, voc deve entender os efeitos dos ingredientes rodrigo@ic.ufal.br 9. Entenda o fluxo Imagine que voc vai aprender a cozinhar um delicioso souffl Algum lhe diz somente a lista de ingredientes e voil!! Voc entendeu como o souffl foi feito? Voc conseguiria fazer um? rodrigo@ic.ufal.br 10. Entenda o fluxo preciso entender como os ingredientes foram combinados preciso saber os passos rodrigo@ic.ufal.br 11. Veja o estado O propsito de um cdigo manipular dados. Logo, preciso sempre ver como esses dados se comportam Qual o valor de scaleFactor no incio do loop? E ao final? Como ele se altera? Aumento linear? Decrscimo linear? rodrigo@ic.ufal.br 12. Veja o estado Entenda como os estados so alterados a cada passo: rodrigo@ic.ufal.br 13. Veja o estado Crie um modelo mental para cada passo rodrigo@ic.ufal.br 14. Crie de forma incremental Faa algo pequeno Teste Aumente um pouco Teste Aumente mais um pouco Teste rodrigo@ic.ufal.br 15. Crie de forma incremental Quanto mais tarde voc testar, mais possibilidades de faltas (bugs) existiro e mais difcil ser detect-las rodrigo@ic.ufal.br 16. Do concreto ao abstrato Um retngulo e um tringulo uma casa Generalizando para alm do caso especfico rodrigo@ic.ufal.br 17. Do concreto ao abstrato Comece constante depois varie rodrigo@ic.ufal.br 18. Do concreto ao abstrato rodrigo@ic.ufal.br 19. Do concreto ao abstrato Comece com 1, depois faa muitos rodrigo@ic.ufal.br 20. Do concreto ao abstrato Do concreto ao abstrato rodrigo@ic.ufal.br 21. Resumo Vimos princpios importantes Vocabulrio Entenda o fluxo Veja o estado Crie de forma incremental Do contreto ao abstrato rodrigo@ic.ufal.br 22. Resumo Durante todo o curso, a cada novo conceito, procure sempre os princpios. Certifique-se que voc entendeu todos eles antes de prosseguir Lembre-se importante aprender sobre cada tipo de pincl, mas isso no o torna um pintor preciso combin-los, seguindo os princpios. rodrigo@ic.ufal.br 23. Como algum se torna um grande msico? preciso entender a teoria e tambm o funcionamento do instrumento. Claro, que o talento tambm ajuda. Mas o sucesso s vem com muita prtica/treino. O treino a aplicao da teoria vrias vezes, usando cada sesso como um aprendizado para se tornar cada vez melhor. Sendo assim, como voc se torna um grande programador? Voc precisa ler muito, aprender a teoria, as estruturas de dados, aprender com os seus erros, com os erros dos outros, mas acima de tudo, voc precisa praticar muito. preciso criar sesses de treino de programao. Rodrigo de Barros Paes (Texto adaptado de http://codekata.pragprog.com/2007/01/code_kata_backg.html) rodrigo@ic.ufal.br