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:
Metodologia de Ensino: 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. Tipo de Classificacao: Quantitativa (0-20). Modelo de Avaliação: A. A avaliação consiste de duas frequências e um mini-teste, a resolver individualmente. A primeira frequência é realizada em computador; a segunda frequência e o mini-teste são realizadas sem recurso ao computador. Cada uma das frequências tem um peso de 40% na classificação final da unidade curricular, tendo o mini-teste um peso de 20% na mesma classificação final. Cada uma das frequências constitui um elemento de avaliação obrigatório. Na época de recurso a avaliação é efetuada sem recurso ao computador. O aluno poderá optar por realizar um exame sobre toda a matéria (cotado para 20 valores), ou apenas sobre a matéria de uma e uma só das duas frequências.