Planeamento
Aulas Teóricas
1. Computadores Algoritmos e Programas (Cap. 1)
Apresentação. Método de avaliação, Bibliografia, Funcionamento da disciplina.
Computadores, Algoritmos e Programas:
- Características de um computador (1.1)
- Algoritmos: definição e características (1.2)
- Programas e processos computacionais (1.3)
- Exemplo de algoritmo e programa.
2. Elementos básicos de programação (Cap. 2)
Computadores, algoritmos e programas:
- Sintaxe e semântica (1.4)
Elementos básicos de programação:
- Expressões (2.1)
- Tipos elementares de informação (2.2)
- Nomes e atribuição (2.3)
3. Elementos básicos de programação
Elementos básicos de programação:
- Predicados e condições (2.4)
- Comunicação com o exterior (2.5)
- Programas, instruções e sequenciação (2.6)
- Selecção (2.7)
4. Elementos básicos de programação
Elementos básicos de programação:
- Selecção (2.7)
- Repetição (2.8)
5. Funções (Cap. 3)
Funções:
- Definição de funções em Python (3.1)
- Aplicação de funções em Python (3.2)
- Abstracção procedimental (3.3)
- Exemplos: factorial e m.d.c. (3.4)
6. Tuplos e ciclos contados (Cap. 4)
Funções:
- Exemplos: Raiz quadrada (3.4)
Tuplos e ciclos contados:
- Tuplos (4.1)
7. Tuplos e ciclos contados
Tuplos e ciclos contados:
- Tuplos (4.1)
- Ciclos contados (4.2)
- Cadeias de caracteres revisitadas (4.3)
8. Listas (Cap. 5)
Listas:
- Listas em Python (5.1)
- Métodos de passagem de parâmetros (5.2)
- O crivo de Eratóstenes (5.3)
9. Listas
Listas:
- Procura sequencial e binária (5.4)
- Ordenação por bubblesort (5.5)
- Considerações sobre eficiência (5.7)
10. Revisões
Revisões dos capítulos 1-5.
Resolução de exercícios.
11. Dicionários (Cap. 7)
Dicionários:
- O tipo dicionário (7.1)
- Contagem de letras (7.2)
12. Abstracção de dados (Cap. 8)
Dicionários:
- Dicionários de dicionários (7.3)
Abstracção de dados:
- Abstracção em programação (8.1)
- Motivação: números complexos (8.2)
- Tipos abstractos de informação (8.3)
13. Abstracção de dados
Abstracção de dados:
- Tipos abstractos de informação (8.3)
- Barreiras de abstracção (8.4)
- Objectos (8.5)
14. Abstracção de dados
Abstracção de dados:
- Exemplo: o tipo carta
15. Funções revisitadas (Cap. 9)
Funções revisitadas:
- Estruturação de funções (9.1)
- Funções recursivas (9.2)
- Programação funcional (9.3)
16. Funções revisitadas
Funções revisitadas:
- Funções como parâmetros (9.4)
- Funcionais sobre listas
17. Funções revisitadas
Funções revisitadas:
- Funções como parâmetros (9.4)
- Funções como métodos gerais
- Funções como valor de funções (9.5)
- Cálculo de derivadas
- Raízes pelo Método de Newton.
18. Ficheiros (Cap. 6)
Ficheiros:
- O tipo ficheiro (6.1)
- Leitura de ficheiros (6.2)
- Escrita em ficheiros (6.3)
19. Recursão e iteração (Cap. 10)
Recursão e iteração:
- Recursão linear (10.1)
- Iteração linear (10.2)
- Recursão em árvore (10.3)
- Números de Fibonacci
20. O desenvolvimento de programas (Cap. 11)
Recursão e iteração:
- Recursão em árvore (10.3)
- Torre de Hanói
- Considerações sobre eficiência (10.4)
O desenvolvimento de programas
21. Programação com objectos (Cap. 12)
Programação com objectos:
- O tipo conta bancária (12.1)
- Classes, subclasses e herança (12.2)
- Número arbitrário de argumentos (12.3)
- Polimorfismo (12.5)
22. Programação com objectos
Programação com objectos:
- Objectos em Python (12.4)
- Exemplos:
- Função de Ackermann
- Factorial
23. Estruturas lineares (Cap. 13)
Estruturas lineares:
- Filas (13.4)
- Operações básicas
- Axiomatização
- Representação interna
- A classe fila
- Simulação de um supermercado (13.5)
24. Estruturas Lineares
Estruturas lineares:
- Representação gráfica (13.6)
- Pilhas (13.1)
25. Estruturas lineares
Estruturas lineares:
- Balanceamento de parênteses (13.2)
- Expressões em notação pós-fixa (13.3)
26. Árvores (Cap. 14)
Árvores:
- Operações básicas (14.1)
- Axiomatização (14.2)
- Representação (14.3)
- Realização das operações básicas (14.4)
- Ordenação por árvore (14.5)
27. Ponteiros
Ponteiros:
- A noção de ponteiro
- Manipulação de ponteiros
- Estruturas com ponteiros: listas ligadas
28. Matéria concluída
Toda a matéria foi já leccionada.