A disciplina aborda os fundamentos para o desenvolvimento de programas sobre a ótica de programação orientada a objetos, noções básicas de complexidade de algoritmos e o estudo de estruturas de dados empregadas em algoritmos com matrizes e grafos.