Objetivos

MAC0122 é uma segunda disciplina de programação de computadores. Ela pressupõe uma boa prática de programação, em uma linguagem de alto nível como linguagem C ou Python; alguns alunos terão adquirido essa prática em MAC0110 ou MAC2166 (Introdução à Computação). A linguagem C será usada como ferramenta de programação nos exemplos discutidos em aula, por permitir uma discussão mais detalhada dos conceitos abordados.

Conteúdo

Os principais tópicos a serem discutidos no curso serão:

  • Eficiência de algoritmos,
  • Ponteiros,
  • Alocação dinâmica de memória,
  • Listas encadeadas,
  • Pilhas, filas,
  • Recursão e funções recursivas,
  • Algoritmos de enumeração,
  • Ordenação de sequências (Quick Sort, Merge Sort, Heap Sort),
  • Busca binária,
  • Algoritmos em grafos,
  • Documentação de funções.