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 Python: paradigmas de programação recursiva, imperativa e funcional; método de programação modular em grande escala (por camadas e centrado nos dados); breve introdução à programação orientada por objetos.
3 - Objetivo específico 2: Aplicações em diferentes áreas, nomeadamente na computação simbólica e numérica.

Conteúdos / Programa:

1 - Introducão à linguagem Python e utilização desta linguagem em problemas de cálculo numérico e de visualização gráfica.
2 - Definição de funções e manipulação de listas.
3 - Programação recursiva, imperativa e funcional.
4 - Comparação e mistura de paradigmas.
5 - Exemplos complementares de programação: ordenação; métodos numéricos.
6 - Método de programação por camadas e centrado nos dados.
7 - Breves nocões de programação orientada por objetos.
8 - Exemplos complementares de programação: Primeiro exemplo: torres de Hanoi.
9 - Tipos de dados abstratos.
10 - Aplicações e complementos: simulação; grafos; breve introdução à programação dinâmica;

Bibliografia / Fontes de Informação:

J. Carmo, A. Sernadas, C. Sernadas, F.M. Dionísio e C. Caleiro , 2004 , Introdução à Programação em Mathematica , IST Press
S. Wolfram , 2000 , The Mathematica book , Wolfram Media
J. Carmo, A. Sernadas, C. Sernadas, F. M. Dionísio, C. Caleiro , 2014 , Introdução à Programação em Mathematica (3a edição) , IST Press
E. Costa , 2015 , Programação em Python, Fundamentos e Resolução de Problemas , FCA
J. V. Guttag , 2013 , Introduction to Computation and Programming Using Python (revised and expanded edition) , MIT Press
M. Lutz , 2013 , Learning Python (fifth edition) , O'Reilly Media
C. Rossant , 2013 , Learning IPython for Interactive Computing and Data Visualization , Packt Publishing
D. E. Knuth , 1998 , The Art of Computer Programming: , Addison-Wesley

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, em que a componente prática é realizada no computador (uma hora e meia cada). Exame /Teste n.º 1: 50% - nota mínima 7.5 valores. Exame/Teste N.º 2: 50% - nota mínima 7.5 valores. Aprovação na UC: 9.5 valores na média das duas frequências.