Programa

Licenciatura em Engenharia Informática (PL)

Programa

I Análise da correção de programas 1.Introdução à lógica proposicional e de predicados; 2.Cálculo de Hoare e especificação formal de comandos; 3.Prova da correcção de comandos. Metodologia de Dijkstra. II Especificação e implementação de tipos de dados abstratos (TDA) 1.Especificação equacional de TDA; 2.Exemplos de especificação de TDA; 3.Desenvolvimento de comandos abstratos; 4.Implementações estáticas e dinâmicas de TDA; 5.Utilização de TDA no âmbito da programação em larga escala. III Estudo de algumas formas de organização dos dados particularmente úteis e respectivos algoritmos associados (versões iterativas e recursivas) 1.Árvores, árvores n-áreas, arvores binárias, árvores de pesquisa, árvores de pesquisa equilibradas, árvores de Bayer; 2.Grafos; 3.Organização dos dados por dispersão; 4.Algoritmos de ordenação (elementares e avançados); 5.Técnicas de avaliação de algoritmos e introdução à problemática da complexidade.