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.