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 utilizando fluxogramas e linguagens de programação.
3 - Analisar a complexidade de algoritmos.
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
- Fluxogramas e pseudocódigos
- Sintaxe e semântica
- 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 - Introdução à linguagem Python
- Estrutura da linguagem e ambientes de desenvolvimento
- Programação com bibliotecas.
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
Python - Linguagem de programação.