Permitir o contato do aluno com problemas clássicos e novos de computação que envolvam a análise de soluções variadas e os mais diversos paradigmas de programação.
Problemas e soluções de algoritmos por meio de diferentes paradigmas.
Apresentação dos paradigmas de força-bruta, dividir e conquistar, transformar e conquistar, reduzir e conquistar, programação dinâmica e backtracking. Solução de problemas com árvores e grafos, e manipulação de strings. Atividades de extensão: Confecção de material para publicação na web. Carga horária: 5 horas.
Bibliografia Básica: - CORMEN, T.H. et al Introduction to Algorithms, MIT Press, Segunda Edição, 2011. - LEVITIN, A. The Design and Analysis of Algorithms. 2nd Edition, Pearson/Addison Wesley, 2007. - Kleinberg, J., Tardos E. Algorythms Design. Addison Wesley, 2006.Bibliografia Complementar: - SKIENA, S.S.; REVILLA, M.A. Programming Challenges – The programming contest training manual. Springer, 2003. - Steven S. Skiena and steve Skiena: The Algorithms Desing Maual, Springer Verlag, 1997 - Thomas H. Cormen (editor), Charles E. Leiserson e Ronald L. Rivest: Introduction to Algorithms, MIT Press, Segunda Edição, 2001. - Dan Gusfield: Algorithms on Strings, Trees, and Sequences: Computer Science and Computacional Biology, Cambridge University Press, 1997.