MC336 - Paradigmas de Programação

Turma A

Primeiro Semestre de 2008


Conteúdo desta página:

Notícias de Última Hora

  1. [09/07/2008] Divulgadas as notas finais, incluindo o Mega-Campeonato e o Exame.
  2. [05/07/2008] Divulgados os dados tabulados do segundo questionário (avaliação didática).
  3. [02/07/2008] Divulgadas as notas das provas e do campeonato de Java.
  4. [18/06/2008] Disponibilizada nova lista teórica sobre Orientação a Objetos e Java no Ensino Aberto (menu "Atividades").
  5. [12/06/2008] Divulgadas alterações no pacote catlib (ver instruções para a implementação do jogador em Java).
  6. [09/06/2008] Disponibilizadas listas teórica e prática sobre Orientação a Objetos e Java no Ensino Aberto (menu "Atividades").
  7. [06/06/2008] Divulgadas as instruções para a implementação do jogador em Java.
  8. [31/05/2008] Disponibilizado material didático (transparências e livro sobre Java) elaborado pela professora Cecília Mary Fischer Rubira através do site Ensino Aberto (menu "Material de Apoio").
  9. [27/05/2008] Divulgadas as notas das provas e do campeonato de Lisp.
  10. [28/03/2008] Divulgada a Lista de Exercícios de Lisp.
  11. [18/04/2008] Divulgados os dados tabulados do primeiro questionário.
  12. [14/04/2008] Divulgadas as notas das provas e do campeonato de Prolog.
  13. [01/04/2008] Divulgados novos exercícios de Prolog (veja a Lista de Exercícios de Prolog atualizada).
  14. [28/03/2008] Divulgados novos exercícios de Prolog (veja a Lista de Exercícios de Prolog atualizada).
  15. [26/03/2008] Divulgada a Lista de Exercícios de Prolog.
  16. [14/02/2008] Notas de aulas do Prof. João Meidanis sobre Lisp e Prolog disponíveis no Xerox da Mara, no Instituto de Artes, Departamento de Dança (prédio ao lado do Instituto de Computação).
  17. [13/02/2008] Campeonato oficial no ar.
  18. [06/02/2008] Salas de aulas alteradas. Veja as novas salas.
  19. [01/02/2008] A primeira aula do curso será 04/03/2008, terça-feira.

Docente e Monitores

Dias, Horários e Local das Aulas

Dias, Horários e Locais de Atendimento

Ementa e Programa da Disciplina

Ementa

Visão comparativa de paradigmas de programação. Programação funcional, lógica e orientada a objetos.

Programa

  1. Programaçãoo Lógica (Prolog): fatos, regras, inferência. Modelo de execução. Listas, operadores e predicados primitivos para números e listas. Cut. Estruturas de controle. Outras linguagens lógicas.

  2. Programação Funcional (Lisp): ênfase em recursão e modularidade; ausência de atribuições, efeitos colaterais em geral e controle de fluxo. Escolha de uma linguagem funcional para ilustrar suas características em relação a tipos, modo de avaliação de expressões e argumentos, operações primitivas, estruturas de dados, funções de funções, entrada e saída de dados.

  3. Programação Orientada a Objetos (Java): abstração de dados, objetos, classes e tipos, herança, hierarquias de generalização/especialização, hierarquias de agregação/decomposição, polimorfismo, classes abstratas, interfaces, pacotes/módulos, tratamento de exceções, metaclasses.
Downloads

Avaliação

O curso será dividido em três linguages: Prolog (L1), Lisp (L2), e Java (L3).

A avaliação de cada linguagem será constituída de uma prova (P) e de um projeto baseado em campeonato (C).

Ao longo do curso deverão ser implementados jogadores do jogo "Catch the Cat" em Prolog, Lisp e Java, que se enfrentarão em campeonatos. Veja maiores informações sobre o jogo e o campeonato.

A prova terá peso 6 e o projeto terá peso 4, ou seja, a nota de cada linguagem será dada pela fórmula:

A nota final antes do exame (N) será calculada pela média geométrica das três linguagens, ou seja, utilizando-se a fórmula:

Se N < 5, o aluno terá direito a fazer o exame. A nota final da disciplina (F) após o exame (E) será calculada pela fórmula:

Observações:

  1. Não haverá provas ou projetos substitutivos.
  2. As provas e o exame terão 2h de duração e serão realizados sem consulta a qualquer material.
  3. Qualquer tentativa de fraude nas provas, nos projetos ou no exame implicará em média final N = 0 (ZERO) para todos os envolvidos, sem prejuízo de outras sanções.
  4. Não será cobrada presença em sala de aula.
Listas de Exercícios

Listas de exercícios serão sugeridas ao longo do semestre. Além de servir para maior fixação do material apresentado em classe, o conteúdo dos exercícios é considerado parte integrante do material visto e será assumido como parte da matéria coberta. Como as listas não farão parte da avaliação, suas soluções não serão coletadas. Os alunos são encorajados a resolver todos os exercícios individualmente e, só posteriormente, realizar discussão em grupo. Quaisquer dificuldades devem ser prontamente discutidas com o professor ou com o monitor nos horários de atendimentos. Dúvidas não sanadas geram mais dúvidas.

Veja os exercícios recomendados.

Datas Importantes

 
Prolog
Lisp
Java
Exame
Prova
08/04/08
20/05/08
26/06/08
08/07/08
Projeto
05-12/04/08
17-24/05/08
21-28/06/08
-
Notas
15/04/08
27/05/08
01/07/08
15/07/08

Verifique os dias sem aulas no Calendário Oficial da Unicamp.

Referências Bibliográficas

    Referências básicas:

  1. Lisp + Prolog (Notas de Aulas, João Meidanis)

  2. Introdução a Programação Orientada a Objetos usando Java (Notas de Aulas, Cecília Mary Fischer Rubira)

    Livros:

  3. Programming in Prolog: Using the ISO Standard, W.F. Clocksin, C.S. Mellish; Springer, 5th edition (2003)

  4. Practical Common Lisp, Peter Seibel; Apress, 1st edition (2005)

  5. Head First Java, Kathy Sierra & Bert Bates; O'Reilly Media, 2nd edition (2005)

  6. Beginning Programming with Java For Dummies, Barry Burd; For Dummies; 2nd edition (2005)

  7. Java How to Program, Harvey M. Deitel & Paul J. Deitel; Prentice Hall, 7th edition (2007)

    Outras referências:

  8. ANSI Common Lisp - Paul Graham. Online chapter: Basic Concepts

  9. Common Lisp the Language, 2nd Edition - Paul Graham

  10. Guide to Prolog Programming - Roman Barták (online tutorial)

  11. Adventure in Prolog (online tutorial)

  12. The Java Tutorial (online tutorial)

  13. Java - How to Program Fifth Edition - Deitel & Deitel