Paradigmas da Programação

Denominação

Referência

Estratégia ECTS
Paradigmas de Programação Teórica/prática e

Prática laboratorial

6
Área científica: Ciências da Especialidade/Aplicadas
Síntese programática:

Conceitos Gerais sobre as Linguagens: linguagem natural, sintaxe e semântica, linguagens naturais e linguagens de programação, normalização das linguagens. Linguagens de programação: arquitectura e princípios das linguagens, classificação das linguagens, elementos das linguagens, elementos metalinguisticos, descrição formal de uma Linguagem usando sintaxe EBNF e diagramas sintácticos. Estudo do Modelo de Programação Orientada aos Objectos: metodologias orientadas aos objectos, modelização gráfica UML, caso prático (Java). Estudo do Modelo de Programação Funcional: linguagens funcionais, princípios das linguagens funcionais, caso prático (Lisp).

Competências específicas adquiridas:

Ser capaz de:

- Saber distinguir os principais elementos de uma linguagem de programação.

- Saber interpretar a descrição formal de uma linguagem usando sintaxe EBNF e diagramas sintácticos.

- Saber utilizar ferramentas para gerar analisadores gramaticais (parsers) a partir da descrição formal de uma linguagem

- Saber distinguir diferentes paradigmas de programação.

- Dominar o Modelo de Programação Orientada aos Objectos e saber implementar algoritmos neste paradigma.

- Dominar o Modelo de Programação Funcional e saber implementar algoritmos neste paradigma.

 

Referências bibliográficas:

[1] Fischer, Alice, Grodzinsky, Frances, “The Anatomy of Programming Languages”, Prentice-Hall, 1993

[2] Appleby, Doris, “Programming Languages, Paradigm and Practices”, McGraw-Hill, 1991

[3] Eckel, Bruce, “Thinking in Java”, President, MindView Inc., 1997, www.eckelobjects.com.

[4] Steel, Guy L. Jr., “Common Lisp”, 2nd Ed. (HTML Version) (http://www.cs.cmu.edu/Groups/AI/html/repository.html)