Paradigmas de Linguagem de Programação
PUC - CAMPINAS - Segundo Semestre de 2011
Conteúdo desta página
Notícias de última hora
[06/12/2011] Desculpem-me não consegui chegar a tempo hoje de aplicar a prova. Estou remarcando nossa prova para amanhã (07/12) às 17:40 na sala 13 do H8.
[06/12/2011] Não deixem de fazer a avaliação docente. Os maiores beneficiados são vocês.
[02/12/2011] Na quarta (7/12) e segunda (12/12) teremos a recuperação/revisão e a prova de recuperação será no dia 13/12.
[02/12/2011] Na quarta (7/12) entrego a prova corrigida. Se tiverem entregado o trabalho, já entrego a nota final.
[02/12/2011] A prova de Lisp e Prolog será na terça (6/12).
[02/12/2011] Hoje vocês devem aproveitar para resolver a lista divulgada ontem e amanhã para trabalhar no desenvolvimento do trabalho.
[02/12/2011] Enunciado para o 3º trabalho disponível. Entrega em 12/12. O trabalho é individual.
[01/12/2011] Lista de exercícios 7 disponível.
[22/11/2011] Mais uma colher de chá para vocês. Estou adiando pela segunda vez a entrega do trabalho de Lisp. Estarei aceitando entrega até o dia 28.
[18/11/2011] As aulas dos dias 25 e 26 (semana que vem) foram canceladas devido ao vestibular da PUC. A aula do dia 24 está mantida e será no laboratório. Devido a esta alteração, o cronograma deverá se estender além do dia 6/12 e datas de entrega de trabalho e prova também deverão ser afetadas. Assim que acertar as alterações com a direção eu comunico vocês.
[18/11/2011] A entrega do 2º trabalho foi adiada para o dia 19 (amanhã) até às 11h (final da aula). Vocês poderão aproveitar as aulas de amanhã para concluir o trabalho.
[12/11/2011] Proposta para o 2º trabalho disponível. Entrega em 18/11. O trabalho é individual. Aqui o arquivo vazio.lisp.
[12/11/2011] Lista de exercícios 6 disponível.
[29/10/2011] Lista de exercícios 5 disponível.
[26/10/2011] Está disponível a solução para a Lista 4. Para executar a solução para a segunda questão basta trocar InterfaceTexto no Main por InterfaceTexto2.
[22/10/2011] Proposta para o 1º trabalho disponível. Entrega em 5/11 com apresentação e entrega do código.
[22/10/2011] Lista de exercícios 4 disponível. Observe que você pode usar como base a solução da lista 2 para as implementas desta lista.
[07/10/2011] Lista de exercícios 3 disponível.
[07/10/2011] Lista de exercícios para revisão/preparação para a 1ª prova disponível. Os exercícios passados nas aulas práticas também são interessantes para esta finalidade.
[07/10/2011] Está disponível a solução para a Lista 2.
[07/10/2011] Está disponível as soluções para a Lista 1.
[01/10/2011] Observem que temos pouco mais de uma semana para a primeira prova.
[01/10/2011] As salas que estão sendo utilizadas agora são a 13 do H8 e os labs 1 e 2 do H6. Existe uma certa confusão nesta alocação, entre o que está no documento e efetivamente alocado para a gente. Eu não costumo faltar, então se não me encontrar numa sala devo estar em um das outras. Em último caso, verifique também na sala 612 do H10.
[01/10/2011] Lista de exercícios 2 disponível.
[27/09/2011] Lista de exercícios 1 disponível.
[20/09/2011] Proposta de Trabalho
[20/09/2011] Site da disciplina no ar.
Docente
André Atanasio Maranhão Almeida
Email: andre.almeida@puc-campinas.edu.br
Dias, horários e local das aulas
Terça, quinta e sexta das 17:40 às 19:20. Sábado das 8:00 às 11:35. As aulas teóricas são realizadas na sala 13 do H8 e as práticas são realizados no laboratório 1 ou 2 do H6. Verifique a indicação do laboratório no cronograma da disciplina.
Dúvidas
As dúvidas devem ser esclarecidas o quanto antes. Não hesitem em interromper as aulas para esclarecer dúvidas. Podem enviar e-mails com esta finalidade também.
Datas importantes
1ª Prova (Java): 11/10
2ª Prova (Java): 04/11
1º Trabalho (Java): 05/11
2º Trabalho (Lisp): 18/11
3ª Prova (Lisp+Prolog): 01/12
3º Trabalho (Prolog): 02/12
Prova de recuperação: 06/12
Material didático
Orientação a objetos:
Introdução Java (atualizado em 07/10/2011)
Progamação funcional:
Lisp2
Progamação lógica:
1: Material de autoria do Prof. Juan Manuel Adán Coello.
2: Apostila de autoria do Prof. João Meidanis (IC-Unicamp)
Links recomendados
Exemplos:
Entrada e Saída: CalculaMedia, Hipotenusa
Polimorfismo: Formas (feito em sala de aula)
Conteúdo programático
Introdução
Conceito de paradigma
Motivos para estudar paradigmas de programação
Critérios para avaliar linguagens de programação
Métodos para implementação de linguagens de programação (compilação, interpretação e misto)
O paradigma funcional
A linguagem de programação Lisp
O paradigma lógico
A linguagem de programação Prolog
O paradigma de orientação a objetos
A linguagem de programação Java
Bibliografia
SEBESTA, R. W.; Concepts of Programming Languages, 5ª ed., Addison-Wesley, 2002.
DEITEL, H.M. and DEITEL, P.J.; Java: How to Program, 4ª. ed., Prentice Hall, 2002.
WINSTON, P. H. and HORN, B. K.; Lisp, 3ª ed., Addison-Wesley, 1998.
BRATKO, I.; Prolog Programming for Artificial Intelligence, 3ª ed., Addison-Wesley, 2001.
APPLEBY, D.; Programming Languages Paradigm and Practice, McGraw-Hill, 1991.
VAN Le, T.; Techniques for Prolog Programming with the Implementation of Logical Negation and Quantified Goal, John Wiley & Sons, 1993.
Avaliação:
A avaliação será realizada sob forma de provas escritas e trabalhos. Serão 3 provas e 3 trabalhos.
As provas terão pesos iguais, compondo MP (Média das Provas). Sendo que são 2 provas tratando do paradigma orientado a objetos e uma prova tratando do paradigma funcional e lógico.
Os trabalhos terão pesos iguais também, compondo MT (Médias dos Trabalhos). Sendo que será um trabalho para cada um dos paradigmas.
A nota final será composta da seguinte forma:
0,7*MP + 0,3*MT
Ao final da disciplina uma prova de recuperação será aplicada aos alunos que obtiverem nota final inferior a 5,0. O aluno com nota final superior ou igual a 5,0 também poderá fazê-la, opcionalmente.
A média final, para todos os que participarem da recuperação, será a média aritmética entre a prova de recuperação e a nota final.