Computação II

Objectivos

  • Computer programming skills
  • Knowledge of probability
  • Basic knowledge in discrete mathematics

Caracterização geral

Código

100027

Créditos

7.0

Professor responsável

Mauro Castelli

Horas

Semanais - A disponibilizar brevemente

Totais - A disponibilizar brevemente

Idioma de ensino

Português. No caso de existirem alunos de Erasmus, as aulas serão leccionadas em Inglês

Pré-requisitos

Estratégias básicas de design de algoritmos: design "top-down", dividir e conquistar, critérios de caso médio e caso pior, custos assintóticos.

Relações de recorrência simples para custos assintóticos.

Escolha de estruturas de dados apropriadas: arrays, listas, pilhas, filas, árvores, filas de prioridade, árvores.

Aplicações para pesquisa, ordenar e problemas com árvore.

Introdução a algoritmos discretos de otimização: programação dinâmica, algoritmos "greedy".

Bibliografia

Cormen, Thomas, Charles Leiserson, et al. Introduction to Algorithms. 3rd ed. MIT Press, 2009. ISBN: 9780262033848

Método de ensino

First epoch: 50% test and 50% project.

Second epoch: 70% test and 30% project (the same of the first epoch).

The project is mandatory.

Minimum grade of 8 required in both the test and the project.

Método de avaliação

English

Conteúdo

  • Aula teórica onde o professor apresentará os métodos formais necessários para analisar e construir algoritmos eficientes.
  • Aulas práticas onde os estudantes terão a oportunidade de testar o desempenho de diferentes algoritmos para resolver um conjunto de tarefas.

Cursos

Cursos onde a unidade curricular é leccionada: