Programa de Ensino 20082
Aprovado pelo Departamento em: 8-7-2008
- Identificação:
- Disciplina: INE5363 - Programação Funcional
- Carga horária: 54 horas-aula
Teóricas: 27
Práticas: 27
- Período:
Início da oferta da disciplina até a presente data
- Curso(s):
- Ciências da Computação (208)
- Requisito(s):
- Ciências da Computação (208)
- INE5381 - Fundamentos Matemáticos da Informática
- Ementa:
- Características, conceitos e aspectos da programação funcional. Aspectos do processamento não numérico em programação funcional. Implementação de sistemas usando uma linguagem de programação funcional.
- Objetivo(s):
- Geral: Introduzir para o acadêmico o conceito de cálculo lambda e programação funcional.
- Específicos:
- Introduzir o cálculo lambda e programação funcional
- Aplicar técnicas de programação funcional utilizando LISP
- Aplicar o conceito de LISP utilizando matemática discreta, orientação a objetos e inteligência artificial usando linguagens funcionais
- Introduzir programação funcional avançada utilizando Haskell
- Conteúdo Programático:
- Capítulo 1: objetiva passar as bases teóricas e formais através do ensino do Calculo Lambda, sendo dividido em 3 aulas [9 horas-aula]
- Introdução à programação funcional e ao cálculo lambda e semântica operacional do cálculo lambda
- Ordem de redução e funções recursivas em cálculo lambda
- Semântica denotacional do cálculo lambda
- Capítulo 2: Programação funcional tradicional - 3 aulas de sintaxe LISP [9 horas-aula]
- Introdução a LISP
- Funções e estruturas em LISP
- LISP avançado e funções de ordem superior
- Capítulo 3: aplicação de programação funcional utilizando LISP com 3 aulas de aplicações de programação funcional [9 horas-aula]
- Aplicações de LISP: matemática discreta e orientação a objetos em LISP
- Inteligência artificial usando linguagens funcionais
- Programação funcional avançada utilizando Haskell, oferecida em 6 aulas.
- Capítulo 4: programação funcional avançada utilizando Haskell, oferecida em 6 aulas [18 horas-aula]
- Entrevista de avaliação e defesa dos trabalhos [3 horas-aula]
- Aula de auxílio ao preparo do trabalho de recuperação [3 horas-aula]
- Entrevista de avaliação e defesa do trabalho de recuperação [3 horas-aula]
- Bibliografia Básica:
- Introdução a programação funcional / por Silvio Romero de Lemos Meira. Meira, Silvio Romero de Lemos.
- Lambda calculus: its syntax and semantics, The - Rev. ed. / 1984
- Common Lisp: the language - 2nd. ed. / c1990
- LISP : uma nova linguagem / c1986
- Foundations of mathematical logic / c1977
- Bibliografia Complementar:
- David S. Touretzty: Common Lisp - A Gentle Introduction to Symbolic Computation.
- Common Lisp - The Language - 2nd Edition - Guy L. Steele
- Common LISP programming for artificial intelligence / 1989
- Algebraic introduction to mathematical logic, An / c1975
- Material disponível na página da disciplina: http://www.inf.ufsc.br/~func/