Código: FP
Fundamentos da Programação
Ano curricular:
1
Duração:
1º semestre
Créditos: 6.0 ECTS
Tipo:Obrigatória
Idioma: Português
Pré-requisitos:
Nenhum
Docente(s):
Ana Gualdina Almeida Matos; Fausto Jorge Morgado Pereira de Almeida; João Miguel de Sousa de Assis Dias; Pedro Miguel dos Santos Alves Madeira Adao;
1. Tipologia de Ensino/Horas de Contacto:
Teóricas: 42.0
Teórico-práticas: 21.0
Total: 63.0
2. Objectivos:
Fornecer conhecimentos sobre conceitos fundamentais relativos à actividade de programação, nomeadamente, algoritmo, abstracção procedimental e abstracção de dados, a programação como construção de abstracções, paradigmas de programação. Após a frequência da cadeira, os alunos deverão dominar os conceitos apresentados e ser capaz de desenvolver programas numa linguagem de programação de alto nível.
3. Programa:
Algoritmos, procedimentos e processos. A construção de abstracção através de procedimentos. Abstracção procedimental. Desenvolvimento do topo para a base. Programação funcional. Procedimentos e processos por eles gerados. Introdução ao conceito de ordem de crescimento de um processo. Formulação de abstracções com procedimentos de ordem superior, procedimentos que recebem e que produzem procedimentos. A construção de abstracções através de dados. A abstracção de dados. Tipos abstractos de informação: listas e árvores. O tipo símbolo. Noção de atribuição e de estado local. Programação imperativa. Modelo de avaliação baseado em ambientes. Estruturas mutáveis: pilhas e filas. A noção de ponteiro. Gestão de memória. Programação por objectos. Noção de objecto, herança simples e múltipla.
4. Bibliografia
Bibliografia principal:
Programação em Scheme: Introdução à Programação com Múltiplos Paradigm, Martins J.P. e Cravo M.R., , 2003, IST Press
5. Avaliação:
A avaliação de conhecimentos tem os seguintes componentes: Mini-testes realizados nas aulas práticas. Pequenos trabalhos de programação, a nível individual. Dois testes realizados em comum por todos os alunos. Projecto de programação em grupos de dois alunos. A nota da cadeira é calculada por uma média ponderada da classificações obtidas: Projecto: 30 % Média aritmética dos mini-testes: 15 % Média aritmética dos trabalhos de programação:15 % Média aritmética dos testes :40 %
6. Estimativa total de trabalho:
168.0 horas