Publicação em Diário da República: Aviso nº 909/2016 - 27/01/2016
5 ECTS; 1º Ano, 1º Semestre, 67,50 TP , Cód. 60244.
Docente(s)
            - António Manuel Rodrigues Manso (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
          Não aplicável
Objetivos
          1.Analisar problemas computacionais e selecionar os tipos de dados e as estruturas de controlo para processá-los.
2. Projetar algoritmos e implementar programas para a resolução de problemas.
3. Analisar a complexidade temporal e espacial dos algoritmos
Programa
          1.Introdução aos algoritmos e à resolução de problemas.
2.Linguagens formais:
    a.Linguagem algorítmica e fluxográfica. 
    b.Linguagens de programação.
3.Tipos de dados simples e expressões computacionais:
    a.Definição de tipos de dados.
    b.Operadores e funções.
4.Processamento sequencial:
    a.Instruções para Ler, Calcular e Escrever
5.Decisão condicional:
    a.Expressões e operadores lógicos.
    b.Instruções para decisões simples e encadeadas.
6.Repetição de Instruções:
    a.Repetição com condicional.
    b.Iteração de um conjunto de valores.
7.Funções: iterativas e recursivas:
    a.Modularização de programas.
    b.Funções parametrizáveis e retorno de funções.
    c.Recursividade.
8. Vetores e Matrizes:
    a.Definição e manipulação de vetores.
    b.Algoritmos de ordenação e pesquisa.
    c.Definição e manipulação de matrizes.
    d.Algoritmos sobre matrizes.
9.Programação numa linguagem de alto nível:
    a.Introdução à programação em python.
    b.Estruturas de dados simples.
    c.Funções e módulos.
Metodologia de avaliação
          Avaliação Contínua:
1.Construção de um portfólio de exercícios: 70 % (mínimo de 10/20)
2.Prova escrita: 30% (mínimo de 7/20)
Avaliação por exame:
1.Prova escrita: 100% 
Bibliografia
          - Stein, C.  e Rivest, R.  e Leiserson, C.  e Cormen, T. (2009). Introduction to Algorithms, 3rd edition. (pp. 1-1000).  MIT Press:   MIT Press
Método de Ensino
          Aulas expositivas para apresentação e demonstração dos conteúdos programáticos. Aulas práticas para implementação e validação dos conceitos teóricos através da resolução de pequenos exercícios.
Software utilizado nas aulas
          Algorithmi - Sistema de ensino e aprendizagem de algoritmos
Python - Linguagem de programação.
Aprovado em Conselho Técnico Cientifico: 17 de julho de 2019
Download da Ficha da Unidade Curricular (FUC)

















