MC346 - Paradigmas de Programação

Créditos: 4
Horas semanais de atividades teóricas: 3
Horas semanais de atividades práticas: 1
Oferecimento: Ambos os períodos letivos
 
Pré-Requisitos
MC302
Ementa

Visão comparativa de paradigmas de programação: programação funcional, programação lógica e programação rápida (prototipação).

Programa

Programação funcional:

  • Funções e recursão
  • Ausência de atribuições explícitas
  • Funções como argumentos de funções
  • Funções anônimas

Programação lógica:

  • Fatos e regras
  • Inferência e unificação
  • Retrocesso (backtracking)
  • Modificação dinâmica de programa (assert/retract)

Programação rápida (prototipação):

  • Programação interativa
  • Variáveis não tipadas
  • Expressões regulares
  • Listas, matrizes e dicionários (hashing)
Bibliografia
• Programming in Prolog: Using the ISO Standard, William Clocksin and Christopher S. Mellish; Springer, 5th edition (2003)
• Practical Common Lisp, Peter Seibel; Apress, 1st edition (2005)
• Learn You a Haskell for Great Good!: A Beginner's Guide, Miran Lipovaca; No Starch Press, 1st edition (2011)
• Learning Python, Mark Lutz; O'Reilly Media; 5th edition (2013)
• Learning Perl, Randal L. Schwartz; O'Reilly Media; 6th edition (2011)