MAC0316 Conceitos Fundamentais de Linguagens de Programação
OBJETIVOS: Introduzir o aluno aos principais paradigmas de linguagens de programação e aos conceitos fundamentais a eles relacionados.
PROGRAMA: Linguagens funcionais. Funções como valores de primeira ordem; polimorfismo; ambientes e fechamentos; avaliação "adiada"; linguagens funcionais; linguagens orientadas a objetos. Tipos abstratos de dados. Módulos. Herança e hierarquias. Linguagens lógicas. Predicados, cláusulas e o modelo de unificação. Implementação dos vários paradigmas em um interpretador; compilação vs implementação. Administração de memória; pilha vs heap; coleta de lixo.
PRÉ-REQUISITOS: MAC0122.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 4 horas, 4 créditos-aula.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: Média ponderada de provas e exercícios.
BIBLIOGRAFIA BÁSICA:
- S. Kamin, Programming Languages: an Interpreter-based Approach, Addison-Wesley, 19??.
- H. Abelson, J. Sussman, Structure and Interpretation of Computer Programs, McGraw-Hill, MIT Press, 19??.
- R. Sethu, Programming Languages, Concepts and Constructs, Addison-Wesley, 19??.
OBSERVAÇÃO: Disciplina obrigatória no currículo do BCC.
[Veja dados da disciplina no JúpiterWeb]