Paradigmas de Programação
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciências e Tecnologia da Programação |
Ocorrência: 2007/2008 - 2S
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
PRODEI |
1 |
Plano de estudos Oficial |
1 |
- |
7,5 |
70 |
200 |
Língua de trabalho
Português
Objetivos
Dotar os alunos de uma visão global dos vários paradigmas de programação com ênfase nos conceitos, implementação e adequação às classes de problemas, levando-os a perceber os compromissos no desenho de linguagens e as vantagens e desvantagens na utilização das linguagens mais usadas em programação.
Programa
1. O papel das linguagens de programação.
2. Funções, recursão, listas e o LISP.
3. Compiladores e sintaxe, cálculo-lambda e semântica denotacional.
4. A família Algol e o ML.
5. Sistemas de tipos e inferência de tipos.
6. Âmbito, funções e gestão de memória.
7. Abstracção de dados e modularidade.
8. Conceitos em linguagens orientadas por objectos, o Simula e o Smalltalk.
9. Objectos e eficiência em tempo de execução em C++.
10. Portabilidade e segurança em Java.
11. O paradigma de programação em lógica e o Prolog.
12. Concorrência e programação distribuída.
Bibliografia Obrigatória
Mitchell, John C.;
Concepts in programming languages. ISBN: 0-521-78098-5
Bibliografia Complementar
Arnold, Ken;
The Java programming language. ISBN: 0-201-70433-1
Simon Thompson; Haskell: The Craft of Functional Programming, Addison-Wesley, 1999. ISBN: 0-201-34275-8
Sterling, Leon;
The Art of Prolog. ISBN: 0-262-69163-9
Ravi Sethi; Programming Languages: Concepts and Constructs, Addison-Wesley, 1996. ISBN: 0-321-21074-3
Springer, George;
Scheme and the art of programming. ISBN: 0-07-060522-X
Métodos de ensino e atividades de aprendizagem
Aulas de exposição teórica e discussão de tópicos relevantes e trabalho prático, em computador, fora das aulas.
Software
Interpretador Hugs
DrScheme
JAVA SE 6
YAP Prolog
Palavras Chave
Ciências Físicas > Ciência de computadores > Programação
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Aulas da disciplina (estimativa) |
Participação presencial |
36,00 |
|
|
Definição (R1) |
Trabalho escrito |
27,00 |
|
2008-03-13 |
Interface com o Utilizador (R2) |
Trabalho escrito |
36,00 |
|
2008-04-17 |
Aplicação Multi-paradigma (R3) |
Trabalho escrito |
54,00 |
|
2008-06-05 |
Produto (P) |
Trabalho escrito |
0,00 |
|
2008-06-05 |
Apresentação e Discussão (A&D) |
Trabalho escrito |
0,00 |
|
2008-06-05 |
|
Total: |
- |
0,00 |
|
Componentes de Ocupação
Descrição |
Tipo |
Tempo (Horas) |
Data Conclusão |
Estudo |
Estudo autónomo |
7 |
|
|
Total: |
7,00 |
|
Obtenção de frequência
A disciplina tem uma componente de avaliação distribuída, em que são avaliadas componentes do trabalho pratico, a entregar antes das datas limite. Serão admitidos a exame os alunos que obtenham 50% na avaliação distribuída. A aprovação na disciplina está condicionada à obtenção de 40% no exame.
Fórmula de cálculo da classificação final
A nota final será calculada usando a fórmula: Nota = 50% Trabalho + 50% Exame, sendo:
Trabalho = 10% R1 + 10% R2 + 20% R3 + 50% P + 10% A&D.
Provas e trabalhos especiais
Não há provas nem trabalhos especiais.
Avaliação especial (TE, DA, ...)
A avaliação distribuída, realizada durante o semestre de funcionamento da disciplina, é exigida a todos os alunos, independentemente do regime de inscrição.
Melhoria de classificação
A nota de exame pode ser melhorada em época de recurso. O trabalho prático pode ser repetido na edição seguinte da disciplina.