Disciplina: Conceitos de Linguagens de Programação
Pré-requisito: Estruturas de Dados, Teoria da Computação
Carga horária: 60
Créditos: 4
Ementa: Caracterização das linguagens de programação de computadores e seus diferentes paradigmas de programação (lógico, procedimental, funcional, orientação a objetos, orientação a aspectos, etc.). Ambiente. Estudo dos conceitos básicos de cada paradigma. Modelos computacionais. Semântica. Outros paradigmas de programação.
Objetivos: Proporcionar ao aluno uma visão geral dos conceitos envolvidos
no projeto e no uso dos diversos paradigmas de linguagens de programação.
Metodologia: aulas teóricas
Avaliação: provas teóricas e práticas. Trabalhos em grupo.
Conteúdo Programático:
Características e objetivos das Linguagens de Programação. Abstração de Dados. Polimorfismo. Ambiente e escopo de variáveis.
Semântica: conceitos das semânticas operacional, denotacional, axiomática, algébrica e de ações
Linguagens Imperativas:
Linguagens Lógicas:
Linguagens Funcionais:
Linguagens Orientadas a Objetos: tipos abstratos de dados, encapsulamento de dados e operações, herança e outros conceitos de orientação a objetos.
Bibliografia básica:
Conceitos de Linguagens de Programação. R. W SEBESTA. Bookman, 2000.
Princípios de Linguagem de Programação. A. C. MELO e F. S. C. SILVA. Edgard Blücher LTDA, 2003.
Programming Languages - Concepts and Constructs. Ravi Sethi. Addison-Wesley, 1996.
Formal Syntax and Semantics of Programming Languages. Kenneth Slonneger and Barry L. Kurtz. Addison-Wesley, 1995.