14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Programação 13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos de Programação 11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de Programação 12. Paradigmas da programação; Programação orientada por objectos; Pacotes – Fundamentos de Programação 10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos de Programação - Fundamentos de Programação 9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos de Programação 8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação 7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamentos de Programação 5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundamentos de Programação 4. Introdução à linguagem de programação Java – Fundamentos de Programação 3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamentos de Programação 2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de Programação 1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e programa – Fundamentos de Programação 6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos de Programação Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias