Fundamentos da Programação 2021/22 

  • Semana 1: Introdução. Computadores, algoritmos e Programas. Sintaxe. Elementos básicos da programação [download]
    • T01 Apresentação. Ambiente de desenvolvimento [pdf] 
    • T02 Computadores, algoritmos e Programas. Sintaxe e semântica [pdf] 
    • T03 Elementos básicos da programação: Expressões. Tipos elementares de informação. Nomes e atribuição. Predicados e condições. Comunicação com o exterior. [pdf]
    • T04 Programas, instruções e sequenciação. Seleção. Repetição. [pdf]
    • Leitura recomendada: Capítulos 1 e 2 do livro principal da UC
  • Semana 2: Funções, tuplos e strings [download]
    • T05 Definição de funções. Aplicação de funções. Abstração procedimental. [pdf]
    • T06 Erros. Exemplos. Módulos. Visualização e execução de programas. Depuração.  [pdf]
    • T07 Tuplos [pdf]
    • T08 Ciclos contados  [pdf]
    • T09 Cadeias de caracteres revisitadas. Formatação [pdf]
    • Leitura recomendada: Capítulos 3 e 4 do livro principal da UC
  • Semana 3: Listas e dicionários [download]
    • T10 Listas. Método de passagem de parâmetros.  [pdf]
    • T11 Exemplos. IMEI. O crivo de Eratóstenes.  [pdf]
    • T12 Algoritmos de procura e de ordenação. [pdf]
    • T13 O tipo dicionário. Frequência de letras num texto. Dicionários de dicionários. [pdf]
    • T14 Discussão enunciado projeto. Boas práticas. Dúvidas. Exercícios e exemplos da matéria anterior.  [pdf]
    • Leitura recomendada: Capítulos 5 e 8 do livro principal da UC

  • Semana 4: TADs e ficheiros [download]
    • T15 Abstração em programação. Números complexos. Complexos como dicionários. [pdf]
    • T16 Metodologia dos tipos abstratos de dados. [pdf] 
    • T17 TADs: Exemplo reserva de sala  [pdf]
    • T18 Ficheiros: O tipo ficheiro. Leitura de ficheiros. Escrita, with statement  [pdf]
    • T19 Discussão exercícios e exemplos. Dúvidas do projeto. [pdf]
    • Leituras recomendadas: Capítulos 9 e 10 do livro principal da UC

  • Semana 5: Programação funcional I: Recursividade [download]
    • T20 Funções revisitadas. Programação funcional. Estruturação de funções. Funções internas. Scope. [pdf]
    • T21 Recursão. Recursão de operações adiadas [pdf]
    • T22 Recursão e iteração. Recursão de cauda. [pdf]
    • T23 Recursão em árvore e recursão múltipla. Considerações sobre eficiência. [pdf]
    • Leituras recomendadas: "Funções Revisitadas" (seções 6.1, 6.2 & 6.3) e Capítulo 7
  • Semana 6: Programação funcional II: Funções de ordem superior [download]
    • T24 Funções de ordem superior. Funções como parâmetros. Funções Lambda.  [pdf]
    • T25 Funcionais sobre listas  [pdf]
    • T26 Funcionais como parâmetros e como valor  [pdf]
    • T27 Dúvidas de projeto. Tópicos de Python. Epílogo [pdf] 
    • T28 Ficha de recuperação.
    • Leituras recomendadas: "Funções Revisitadas" (seções 6.4, & 6.5)