The life so short
the craft so long to learn.
A vida tão curta,
o ofício tão longo de aprender.
— Geoffrey Chaucer
Estas aulas de análise de algoritmos foram baseadas em partes dos livros de Cormen, Leiserson, Rivest e Stein, de Kleinberg e Tardos, de Brassard e Bratley e de alguns outros. O curso estuda alguns algoritmos clássicos e analisa sua correção e seu desempenho. Para preparar o terreno, as primeiras aulas tratam de duas importantes ferramentas matemáticas: a comparação assintótica de funções e a resolução de recorrências.
Embora os nossos algoritmos sejam descritos em pseudocódigo — em estilo semelhante ao de Cormen, Leiserson, Rivest e Stein — convém que o leitor conheça alguma linguagem de programação, como a C ou C++ ou Java. Também é desejável que o leitor conheça algumas estruturas de dados básicas.