Foto da grama escrito IME-USP

Com o fim do curso de verão de 2009 da USP, resolvi postar minhas impressões sobre o mesmo!

O curso realmente foi muito bom e me ensinou muita coisa! Eu já tinha feito o curso no ano retrasado, mas não cheguei a terminar, por que o professor da época era muito foda e assumia que todos os alunos já sabiam do que ele estava falando, e para mim não significava tanto assim, portanto chegou um momento que eu simplesmente já não estava entendendo mais nada, e o professor já estava jogando matéria loucamente, portanto abandonei.

Fotos das nossas duas motos em frente ao IME

Esse ano, assim como no ano retrasado, não fui sozinho. o Rodrigo foi comigo também, apenas de ele não cursar algo relacionado a programação (cursa redes), ele resolveu fazer o curso. Lá também encontrei a Suelen, que participou do curso no ano retrasado também! Tudo isso sem contar que ainda reencontrei outras pessoas que fizeram o curso junto comigo em 2006, e que resolveram aparecer agora. :D

Esse ano tivemos um professor muito gente fina chamado Wanderley Guimarães que explicou a matéria muito bem durante todo o curso, ensinando até coisas que não faziam parte do curso para quem não entendia o suficiente, e indo além do que o curso previa para quem sabia muito mais do que o normal. O professor é realmente muito legal, e a aula realmente se tornava bem divertida de ser assistida, pois sempre tínhamos certeza que viria um conteúdo interessante além dele estar sempre disposto a conversar no final da aula.

O que foi abordado no curso:

  • Iteração, indução e recursão

  • Prova de invariantes

  • Análise de tempo de execução de algoritmo

  • Vetores

  • Listas encadeadas

  • Pilha e Fila

  • Buscas simples e busca binária

  • Ordenação

  • Insertion Sort

  • Selection Sort

  • Merge Sort

  • Heap Sort

  • Quick Sort

  • Árvore Binária

  • Árvore Binária de Busca

No final do curso ainda tivemos uma introdução a Programação Dinâmica e a algoritmos de enumeração! :)

Foto do professor Wanderley Guimarães dando aula

A cada tópico passado tínhamos um estudo utilizando os outros tópicos já aprendidos. Exemplo: Vamos estudar o MergeSort, então provamos as invariantes / indução, fazemos ele tanto recursivo quanto iterativo, vemos a quantidade de tempo e memória que o algoritmo utiliza e outras coisas mais.

As aulas se tornaram bastante interativas pois o Wanderley sempre dava bastante liberdade para a classe intagir com o conteúdo, as vezes até propondo algoritmos interessantes “On the fly” na aula. :D

O curso é baseado em 2 provas e um EP (exercício programa) para avaliação. Eu não fui muito bem na primeira prova, e espero ter me saído razoável na segunda, e empenhei uma boa parte do meu tempo noturno no EP para ver se no fim das contas eu ainda consigo sair com o certificado. ;)

Foto de uma intruder sozinha em frente ao IME

Como é de praxe, no final do curso tínhamos menos da metade da sala com participantes ativos, pois muitos não se adéquam ao curso ou acham muito difícil e desistem. Nesse momento do curso o Rodrigo já não estava indo mais (o que eu já tinha previsto, não sei por que, e aí está a foto com minha moto sozinha em frente ao prédio do IME), e eu permaneci aprendendo tudo o que eu podia antes do fim do curso, mesmo que minhas notas não estivessem como eu gostaria. :P

O EP desse ano foi bem interessante, deveríamos receber uma quantidade indeterminada de palavras, sendo que elas seriam informadas uma por linha pela entrada padrão, e o programa deveria imprimir todas as palavras que eram anagramas umas das outras na mesma linha, e as que não eram anagramas na linha seguinte… Algo como:

teste
marrocos
futebol
pothix
bolfute
eetts
socorram

Ia retornar:

teste eetts
marrocos socorram
pothix
futebol bolfute

A princípio parece fácil, mas quando você começa a fazer percebe que não é tão simples assim. ;)

Só uma dica…Dá para fazer com lista encadeada. ^^

Espero sair com o certificado desse curso, pois me empenhei o máximo que pude, mesmo com todos os transtornos que aconteceram, e com a terrível falta de tempo. Mesmo querendo sair com o certificado, ele não é o mais importante do curso, o que mais importa é a quantidade de conhecimentos que eu consegui agregar, a quantidade de pessoas interessantes que eu conheci, e a quantidade de experiência que isso me trouxe. :D

Pretendo fazer vários posts sobre os conceitos que eu aprendi no curso por que eu acho que será bem interessante passar esse conhecimento para outras pessoas.

Eu tenho uma recomendação…Aproveite suas férias de janeiro do ano que vem e vá fazer um curso de verão! ;)