Universidade Federal do Espírito Santo

Portal do Ementário

Informações Gerais
Disciplina:
Paradigmas de Programação ( INF16161 )
Unidade:
Departamento de Informática
Tipo:
Obrigatória
Período Ideal no Curso:
6
Nota Mínima para Aprovação:
5.00
Carga Horária:
60
Número de Créditos:
3

Objetivos
Compreender os conceitos definidos em várias linguagens que empregam os diversos paradigmas de programação. Empregar de forma efetiva os diversos recursos oferecidos pelas linguagens de programação. Analisar e escolher linguagens de programação adequadas para cada problema.

Ementa
Classificação de linguagens de programação (LPs) em diferentes paradigmas: procedural (estruturado e orientado a objetos), declarativo (funcional e baseado em regras). Teoria de LPs: amarrações, tratamento de variáveis, constantes, expressões e comandos, exceções. Modularização em LPs: abstrações de controle e abstrações de dados. Sistemas de tipos em LPs: tipagem estática e dinâmica; erros de tipos; verificação, inferência e conversão de tipos; tipagem forte e fraca. Tipos de polimorfismo em LPs: coerção, sobrecarga, paramétrico, inclusão e duck typing. Estudo dos diferentes paradigmas de programação com aplicação em problemas práticos. Estudo e uso de LPs modernas aderentes aos diferentes paradigmas.

Bibliografia
VAREJÃO, F.M., Linguagens de programação: conceitos e técnicas, 1a. edição, Editora Campus, 2004. SÁ, C.C.; SILVA, M.F., Haskell: uma abordagem prática, 1a. edição, Editora Novatec, 2006. SEBESTA, R.W., Conceitos de linguagens de programação, 5a. edição, Editora Bookman, 2003.

Bibliografia Complementar
WATT, D.A., Programming language concepts and paradigms, 1a.. edição, Editora Prentice Hall, 1990. HUTTON, G., Programming in Haskell, 1a. edição, Editora Cambridge, 2007. BIRD, R., Introduction to functional programming using Haskell, 2a. edição, Editora Prentice Hall, 1998. BEN-ARI, M., Mathematical logic for computer science, 3a. edição, Editora Springer, 2012. HAYES-ROTH, F., Rule-based systems, Editora ACM, 1985.
Carregando...