BCC 222
Programação Funcional

José Romildo Malaquias
Sala 21 – DECOM – ICEB III
Instituto de Ciências Exatas e Biológicas
Universidade Federal de Ouro Preto
romildo@iceb.ufop.br

2015/1

Sumário

1 Dados gerais
2 Objetivos
3 Ementa
4 Metodologia de Ensino
5 Atividades Discentes
6 Bibliografia
7 Avaliações
8 Código de honra do aluno
9 Grupo de discussão
10 Ferramentas
11 Aulas
12 Trabalhos
13 Notas e frequências

1 Dados gerais

Departamento: Computação
Unidade: Instituto de Ciências Exatas e Biológicas
Carga horária semanal: 2 teóricas + 2 práticas = 4 total
Duração em semanas: 18
Carga horária semestral: 72 horas-aula
Pré-requisitos: BCC201 – Introdução à Programação
Cursos: Ciência da Computação: obrigatória 3o período

2 Objetivos

Ao final do curso espera-se que os alunos possuam os seguintes conhecimentos e habilidades:

3 Ementa

  1. Características dos principais paradigmas de programação.
  2. Princípios do paradigma de programação funcional.
  3. Principais características das linguagens de programação funcional:
  4. Estudo de uma linguagem funcional moderna e desenvolvimento de programas nesta linguagem, enfocando aspectos de correção, modularidade e reuso de código.

4 Metodologia de Ensino

Aulas teóricas
Aulas expositivas sobre o conteúdo. Os conceitos serão apresentados através da solução de problemas que requerem aplicação de tais conceitos. Será dada uma forte ênfase na implementação como instrumento para garantir a assimilação dos conceitos de orientação a objetos.
Aulas práticas
Aulas práticas onde o aluno terá a oportunidade de escrever programas e trechos de programas usando os conceitos e construções sendo estudados. Para tanto deverá seguir um roteiro com as tarefas a serem realizadas.

5 Atividades Discentes

Listas de exercícios
Exercícios de implementação de programas e trechos de programas para assimilação dos conceitos apresentados.
Trabalhos
Exercícios de implementação mais elaborados para consolidar os conceitos estudados.

6 Bibliografia

[1]

PIC
Andrei de Araújo Formiga. OCaml: Programação funcional na prática. Bibliografia básica. Casa do Código, 2015, p. 278. Livro-texto.

[2]

PIC
Jason Hickey, Anil Madhavapeddy e Yaron Minsky. Real World OCaml: Functional programming for the masses. Bibliografia básica. O’Reilly Media, 2013, p. 510. isbn: 978-1449323912. Livro-texto.

[3]

PIC
John Whitington. OCaml from the Very Beginning. Bibliografia básica. Coherent Press, 2013, p. 510. isbn: 978-0957671102.

[4]

PIC
Damien Doligez, Alain Frisch, Jacques Garrigue, Didier Rémy e Jérôme Vouillon. The OCaml System: Documentation and User’s Manual. Bibliografia básica. 2015. Livro-texto.

7 Avaliações

A avaliação será feita por um conjunto de provas escritas, um conjunto de trabalhos práticos, e um conjunto de listas de exercícios. A tabela a seguir enumera as atividades de avaliação previstas, com os respectivos pesos na formação da nota final, e datas de realização.





avaliação peso data assuntos




Prova 1
7
01/04/2015 (quarta-feira)



Prova 2 18/05/2015 (segunda-feira)



Prova 3 29/06/2015 (segunda-feira)




Trabalhos 2




Exercícios 1




Exame especial 06/07/2015 (segunda-feira) De acordo com a resolução CEPE 2.880




As atividades deverão ser submetidas através do site da disciplina no sistema Moodle do DECOM: http://www.decom.ufop.br/moodle/course/view.php?id=341

8 Código de honra do aluno

Este assunto deve ser muito simples. Não entregue trabalhos de outra pessoa como sendo seus, e não compartilhe suas soluções com outros alunos.

Você deve se sentir livre para discutir os problemas propostos e os projetos de programação com os colegas, mas todo trabalho que você submeter ao professor deve ser de sua própria autoria. Ou seja, você deve elaborar suas próprias soluções para os problemas e implementar seus projetos de programação você mesmo.

Se você discutir suas idéias com outros estudantes, não tem problema, mas faça uma observação sobre o mesmo na submissão do seu trabalho.

As atividades propostas são para trabalho individual.

9 Grupo de discussão

Existe um grupo de discussão sobre o conteúdo da disciplina no Google Groups que deverá ser utilizado ativamente pelos alunos, professor e monitores durante o curso.

O professor e os monitores poderão propor questões para discussão no grupo, bem como problemas para serem resolvidos.

Caberá aos alunos discutir as questões e problemas propostos, apontando soluções básicas e/ou soluções alternativas ou comentando o assunto. Os alunos poderão também propor algum problema ou levantar alguma questão para discussão que julgarem interessante.

O endereço do grupo de discussão é http://groups.google.com/group/bcc222.

Cada aluno deverá se inscrever imediatamente no grupo e começar a participar das discussões.

10 Ferramentas

Nas aulas será utilizada a linguagem OCaml para desenvolver os conceitos de programação funcional.

11 Aulas







#
Data
Assuntos

Atividades







1 23/02/2015 Seg 0. Apresentação do curso
0. Introdução







2 25/02/2015 Qua 1. OCaml

Tarefas da aula prática







02/03/2015 Seg (Não houve aula)







3 04/03/2015 Qua 2. Tipos, Expressões, Funções

Tarefas da aula prática







4 09/03/2015 Seg 3. Expressão Condicional

Tarefas da aula prática







5 11/03/2015 Qua 4. Declaração Local

Tarefas da aula prática







6 16/03/2015 Seg 5. Funções Recursivas

Tarefas da aula prática







7 18/03/2015 Qua 6. Tuplas, Listas, Polimorfismo Paramétrico

Tarefas da aula prática







8 23/03/2015 Seg 7. Casamento de Padrão

Tarefas da aula prática







8 25/03/2015 Qua (Continuação)







9 30/03/2015 Seg (Continuação)







10 01/04/2015 Qua (Continuação)







11 05/04/2015 Seg (Continuação)







12 08/04/2015 Qua Primeira Prova







13 13/04/2015 Seg 8. O Ambiente de Desenvolvimento Integrado OcaIDE

Tarefas da aula prática







14 15/04/2015 Qua 9. Programas Interativos

Tarefas da aula prática







20/04/2015 Seg (Recesso)







15 22/04/2015 Qua 10. Valores Aleatórios

Tarefas da aula prática







16 27/04/2015 Seg 11. Expressões Lambda

Tarefas da aula prática







17 29/04/2015 Qua (Continuação)







18 04/05/2015 Seg 12. Funções de Ordem Superior

Tarefas da aula prática







19 06/05/2015 Qua (Continuação)







20 11/05/2015 Seg (Continuação)







21 13/05/2015 Qua (Continuação)







22 18/05/2015 Seg Correção da primeira prova
13. Tipos Variantes

Tarefas da aula prática







12 Trabalhos




Assunto

Trabalho

Data entrega



13 Notas e frequências

Resultados de avaliações e frequências

Última atualização: 2015-05-18 09:10:32 por José Romildo Malaquias.