Na UC de Algoritmos e Estruturas de Dados (ALD) pretende-se que os alunos possam, por um lado, dominar técnicas de representação de dados, como árvores, listas e grafos e, por outro, conceber e analisar a eficiência dos algoritmos mais usados para manipulação de dados, como por exemplo para inserção, ordenação e procura. Estas competências são utilizadas para desenvolver aplicações usando a linguagem de programação C.