Escola Politécnica de Pernambuco Engenharia da Computação PROGRAMA Obrigatória: Disciplina: LINGUAGEM DE PROGRAMAÇÃO 2 Código: CCMP0018 Carga Horária Semestral: 60h Eletiva : Número de Créditos: TEÓRICOS: 02 ; PRÁTICOS: 01 ; TOTAL: 03 Pré-Requisito: CCMP0017 – LINGUAGEM DE PROGRAMAÇÃO 1 Co-Requisito: EMENTA Programação com Linguagens Funcionais: Tipos Básicos e Abstratos de Dados Operadores Definição de Função e Definição Local Transparência Referencial Semântica de Programação Procrastinada Currificação Polimorfismo Classes de Tipos Funções de Alta Ordem e Recursão Casamento de Padrão Entrada/Saída Interação usando monads OBJETIVOS Apresentar ao aluno os conceitos de programação funcional. Ao final do semestre, o aluno estará apto a: 1) Entender os conceitos de linguagens funcionais 2) Definir estruturas elementares básicas para resolução de problemas 3) Desenvolver programação funcional Linguagem de Programação 2 x Escola Politécnica de Pernambuco Engenharia da Computação CONTEÚDO HORAS AULAS T P UNIDADE ITEM I 1 2 3 4 Conceitos de Linguagens Funcionais Comandos básicos Prova de Propriedades Listas 4 2 2 2 1 2 3 4 5 Compreensão de Listas Prova de Programas com Listas Funções de Alta Ordem Polimorfismo 1º Exercício Escolar 2 2 2 2 2 1 2 3 4 5 6 Funções como Valores Classes de Tipos Tipos Algébricos Tratamento de Erros Entrada/Saída 2º Exercício Escolar 2 2 2 1 1 2 II III Linguagem de Programação 2 4 2 2 2 4 4 4 4 4 Escola Politécnica de Pernambuco Engenharia da Computação METODOLOGIA Aulas teóricas expositivas Trabalhos individuais Trabalhos de grupos Uso intensivo de computador e de Linguagem Funcional BIBLIOGRAFIA BÁSICA • THOMPSON, Simon. Haskell: The Craft of Functional Programming, Edimburgo, Ed. Addison-Wesley, 1999. BIBLIOGRAFIA COMPLEMENTAR • • • BIRD, Richard, SCRUGGS, Thomas, MASTROPIERI, Margo. Introduction to Functional Programming, New Jersey, Ed. Prentice-Hall, 1998. Notas de aula Artigos científicos Linguagem de Programação 2