Laboratórios de Programação Avançada

Ano
3
Ano lectivo
2017-2018
Código
01000301
Área Científica
Informática
Língua de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Obrigatória
Nível
1º Ciclo - Licenciatura

Conhecimentos de Base Recomendados

Conhecimentos básicos de algoritmia, paradigmas de programação procedimental e orientado a objetos, estruturas de dados e matemática (unidades curriculares de Introdução à Programação e Resolução de Problemas, Algoritmos e Estruturas de Dados, Princípios de Programação Procedimental, Programação Orientada a Objetos, Estruturas Discretas).

Métodos de Ensino

As aulas teóricas destinam-se à exposição da matéria pelo docente, à discussão de exemplos, à apresentação dos problemas a resolver durante o semestre, e à resolução de problemas de menor complexidade em grupo. As práticas laboratoriais destinam-se a apoiar a resolução individual pelos estudantes dos problemas propostos, para acompanhamento do projeto e para a defesa oral.

Estágio(s)

Não

Programa

  1. Introdução  
    1. Modelação e resolução de problemas
    2. Complexidade computacional
    3. Paradigmas algorítmicos
      1. Procura recursiva
      2. Backtracking
      3. Programação dinâmica
      4. Procura gulosa
      5. Branch-and-bound
      6. Casos de aplicação
        1. Grafos
        2. Redes de fluxo
        3. Geometria computacional

(opcional) Outros problemas como por exemplo: numéricos, de emparelhamento, de análise lexical e sintática, de bioinformática, de criptografia, etc.

Docente(s) responsável(eis)

Luís Filipe dos Santos Coelho Paquete

Métodos de Avaliação

Avaliação
1) Resolução individual do problema; 2) Provas a realizar em grupo; 3) Projeto; 4) Defesa oral, individual, das classificações.: 100.0%

Bibliografia

T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, 3rd ed., 2009.
S.Skiena and M.Revilla, Progamming Challenges, 2003.
D. Knuth, The Art of Computer Programming.
S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani,  Algorithms (draft)
J. Kleinberg, and E. Tardos, Algorithm Design, 2005
R. Sedgewick and K. Wayne, Algorithms, 4rd ed, 2011
B. Vöcking, H. Alt, M. Dietzfelbinger, R. Reischuk, C. Scheideler, H. Vollmer, D. Wagner (eds),  Algorithms Unplugged, 2011