Estudo, através de exemplos, da correção, da análise de eficiência e do desenvolvimento de algoritmos e de suas estruturas de dados básicas.
Alguns exemplos de algoritmos usando pilhas e filas. Introdução aos conceitos de listas ligadas e ponteiros. Algoritmos recursivos. Busca, inserção e remoção em vetores e listas ligadas. Busca binária.Algoritmos de ordenação (inserção, seleção, mergesort, heapsort, quicksort, etc.). Algoritmos de casamento de padrões. Alguns exemplos de algoritmos de enumeração e otimização sobre seqüências. Prova informal da correção de algoritmos. Estudo empírico da eficiência de algoritmos.
N. Wirth, "Algorithms and Data Structures", Prentice Hall, 1986. R. Sedgewick, "Algorithms in C", 3rd. ed, vol. 1, Addison-Wesley/Longman, 1998. N. Ziviani, "Projeto de Algoritmos com Implementações em Pascal e C", Pioneira, 1993. J. Bentley, "Programming Pearls", Addison-Wesley, 1986. J. Bentley, "More Programming Pearls", Addison-Wesley, 1988. A.V. Aho, J.D. Ullman, "Foundations of Computer Science", Computer Science Press, 1992.