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 UCSemana 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 UCSemana 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 UCSemana 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 UCSemana 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)