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)