Nesta disciplina abordaremos um conjunto de estruturas de dados fundamentais para o entendimento de conceitos avançados em computação. Por exemplo, serão estudadas as estruturas de árvores e tabela de espalhamento que, entre outros contextos, são usadas na construção de ferramentas de recomendação. Também será apresentado o conceito de eficiência de algoritmos, permitindo ao aluno compreender a razão de tantos problemas serem resolvidos de formas diferentes, i.e. por  algoritmos diferentes. De posse desse conhecimento o aluno será capaz de avaliar qual estrutura de dado e algoritmo adotar, em determinado contexto, visando sempre a construção de soluções mais eficientes.