Objetivos
Ensinar os princípios básicos de programação e desenvolvimento de algoritmos para computadores.
Ambiente
O curso, inicialmente, usará a linguagem Python para apresentar os conceitos básicos. A linguagem foi escolhida por ser considerada especialmente fácil de aprender, possuindo simples simples e clara e que força uma certa disciplina nos novatos (como o uso de endentação para determinar o início e final de bloco, sendo portanto obrigatória). Um dos aspectos mais interessantes de Python é que ela possui interpretadores que são capazes de executar imediatamente os comandos, constituindo-se uma ótima ferramenta de experimentação. Outra vantagem é que a biblioteca possui vários módulos de extensão interessante, particularmente na área científica, como numpy / scipy (computação científica), biopython(bioinformática), vpython (visualização de simulações físicas 3D), etc.
Bibliografia
Existem muitos livros e tutorias sobre Python. O início do nosso curso será baseado no livro:
Zelle, John. "Python Programming: An introduction to Computer Science". Franklin, Beedle & Associates, 2004.
Infelizmente o livro não é comum no Brasil (não está disponível nem na Cultura). Entretanto o preço para comprar uns 10 livros (vocês deveriam se juntar em um grupo e fazer a compra de uma vez) na Amazon com envio expresso é de uns US$ 50,00 o que já mais ou menos o preço de um livro técnico brasileiro.
A medida que o curso avançar atualizarei a bibliografia.
Ligações
- Como pensar como um Cientista de Computação usando Python. Livro interessante que foi (está sendo) traduzido para o português e está disponível livremente.
- Tutorial (em inglês). Tutorial oficial do Python, mas só faz sentido para quem já sabe programar.
- Instant hacking. Texto curto para começar.
- ipython. O melhor shell de Python que eu conheço.
A avaliação nesse curso baseia-se em provas e exercícios programas (EPs). Haverá duas provas por semestre e cerca de três EPs. No primeiro semestre a média de prova sera obtida por MP = (P1 + 2*P2)/3. Já a média de eps MEP = (EP1+2*EP2+2*EP3)/5. Eu me reservo o direito de mudar o número de EPs e portanto o cálculo da média de EPs. A média final será MF = (2*MP + MEP)/3 caso as duas médias sejam maiores ou iguais a 5 ou a menor média caso contrário.