Disciplina: Paradigmas da Programação

Área Científica:

Informática

HORAS CONTACTO:

80 Horas

NÚMERO DE ECTS:

7,5 ECTS

IDIOMA:

Português

Objetivos Gerais:

1 - Objetivo genérico: Dotar os alunos de conhecimentos teóricos, metodológicos e práticos sobre o desenvolvimento de programas no âmbito de vários paradigmas.
2 - Objetivo específico 1: Iniciação à programação em vários paradigmas: programação recursiva, imperativa, funcional, por camadas centradas nos dados, e com objetos.
3 - Objetivo específico 2: Introdução à linguagem de programação Python.

Conteúdos / Programa:

1 - Elementos básicos de programação em Python
2 - Definição de funções.
3 - Tipos estruturados de dados: tuplos, cadeias de caracteres, listas e dicionários.
4 - Programação recursiva.
5 - Programação imperativa.
6 - Programação funcional.
7 - Exemplos complementares: métodos de ordenação e combinação de paradigmas.
8 - Método de programação por camadas e centrado nos dados e tipos de dados abstratos.
9 - Introdução à programação com objetos.
10 - Aplicações e complementos: simulação; grafos; máquina URM e programação com instruções de salto; e breve introdução à programação dinâmica.

Bibliografia / Fontes de Informação:

J. Carmo , 2023 , Paradigmas da Programação em Python ,
E. Costa , 2015 , Programação em Python: Fundamentos e Resolução de Problemas , FCA
C. Caleiro, J. Ramos , 2016 , Introdução à Programação em Python ,
J. Carmo, A. Sernadas, C. Sernadas, F.M. Dionísio, C. Caleiro , 2014 , Introdução à Programação em Mathematica , IST Press
J. V. Guttag , 2013 , Introduction to Computation and Programming Using Python , MIT Press
M. Lutz , 2013 , Learning Python , O'Reilly Media
D. E. Knuth , 1995 , The Art of Computer Programming , Addison-Wesley
P. Martins , 2019 , Programação em Python: Introdução à programação utilizando múltiplos paradigmas , IST Press
T.H. Cormen, C.E. Leiserson, R.L. Rivest , 2009 , Introduction to Algorithms , MIT Press

Métodos e Critérios de Avaliação:

Tipo de Classificação: Quantitativa (0-20)

Metodologia de Avaliação:
Aulas teóricas expositivas, mas em que o ensino dos paradigmas da programação é feito sempre através de exemplos. As aulas práticas consistem na elaboração de programas, no computador, pelos alunos. A avaliação consiste de duas frequências a resolver, individualmente, no computador (uma hora cada), e de um trabalho a resolver em grupos de, no máximo, 2 alunos, com apresentação oral e discussão com os elementos do grupo e nota individual. Designando por F1 a nota da frequência 1, por F2 a nota da frequência 2 e por T a nota do trabalho e oral (com cada uma das três componentes cotada para 20 valores), então: a) Para obter aprovação na UC é preciso satisfazer, cumulativamente, as condições: F1 >= 7.5, F2 >= 7.5 e 0.4 F1 + 0.45 F2 >= 9.5; b) A classificação final, para quem obtenha aprovação na UC, é dada por: 0.4 F1 + 0.45 F2 + 0,15 T.