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  (2)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
          Não aplicável
Objetivos
          1 - Compreender o funcionamento interno dos computadores e a sua programação
2 - Desenhar e implementar algoritmos para resolução de problemas
3 - Utilizar programação estruturada
4 - Desenvolver a capacidade de abstracção, raciocínio e concentração
Programa
          1 - Introdução aos computadores e aos algoritmos
    - Noções básicas de arquitectura de computadores
    - Noção de algoritmo
    - Algoritmos não computacionais  
2 - Tipos de dados simples e expressões computacionais
    - Representação da informação
    - Bases de numeração
    - Operadores aritméticos e lógicos e funções matemáticas
    - Representação linear de expressões matemáticas
3 - Instruções de processamento sequencial
    - Entrada e saída de dados
    - Cálculo numérico
4 - Instruções de decisão condicional
    - Expressões lógicas
    - Decisão binária
    - Decisão múltipla
5 - Instruções de iteração
    - Iteração determinística
    - Iteração condicional
    - Iteração com controlo final
6 - Programação modular
    - Funções e procedimentos
    - Parâmetros
    - Recursividade
7 - Vetores e matrizes
    - Definição, inicialização, leitura e escrita de vetores
    - Algoritmos de ordenação
    - Algoritmos de pesquisa
    - Matrizes
    - Algoritmos com matrizes
8 - Estruturas de dados simples
    - Pilhas
    - Filas
Metodologia de avaliação
           Desempenho laboratorial : 10%
 Testes práticos : 50%
 Exame teórico : 40 %
Bibliografia
          - Cormen, T.  e Leiserson, C.  e Rivest, R.  e Stein, C. (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

















