Professor: Zanoni Dias
Sala: 23 (IC-1)
Monitor: André Atanasio Maranhão Almeida
Sala: 86 (IC-2)
Monitor: Ulisses Martins Dias
Sala: 86 (IC-2)
Terças-feiras às 21h e quintas às 19h, na sala CB-04.
Monitores:
Ulisses: Terças-feiras, das 18h às 19h, na sala 86 IC-2.
André: Quartas-feiras, das 18h às 19h, na sala 86 IC-2.
Professor: Quintas-feiras, das 18h às 19h, na sala 23, do IC-1.
Não haverá horário de atendimento nas semanas das provas nem do exame.
Qualquer mensagem com questões relativas à disciplina deve ser enviada simultaneamente ao professor e aos monitores e deve conter no subject/assunto o texto “[MC336]” seguido do motivo da mensagem. Exemplos:
Em caso de problemas relacionados a códigos de programas, a mensagem deve conter a explicação completa do problema, a indicação do trecho do código onde aparentemente encontra-se o problema e o programa deve ser enviado em anexo.
Mensagens que atendam todas as especificações acima serão respondidas em até 24h, respeitando o horário comercial, de segunda a sexta, das 8h às 18h.
As dúvidas devem preferencialmente ser sanadas em sala de aula ou pessoalmente nos horários de atendimento. Use o atendimento via email como último recurso. Não haverá atendimento via mensagens instantaneas (MSN, Gmail Talk, etc).
Ementa
Visão comparativa de paradigmas de programação. Programação funcional, lógica e orientada a objetos.
Programa
Referências básicas:
Livros:
Outras referências:
Clique aqui.
Listas de exercícios serão sugeridas nesta página 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.
Recomenda-se o estudo do programa da disciplina através do material didático preparado pelo professor Cid Carvalho de Souza especialmente para esta disciplina (slides em formato PDF).
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 em Prolog, Lisp e Java, que se enfrentarão em campeonatos.
O campeonato oficial de cada linguagem é um período de 8 dias consecutivos onde serão realizados tantos campeonatos quanto o possível (veja datas abaixo). As submissões de jogadores estarão liberadas pelo menos 2 semanas antes do início do campeonato oficial. Cada aluno poderá realizar quantas submissões desejar, antes e até mesmo depois do ínicio do campeonato oficial. A nota do campeonato será dada de acordo com o desempenho dos jogadores em todas as partidas campeonato oficial, sendo assim, para concorrer a nota máxima, os alunos devem submeter seus jogadores antes do início do campeonato oficial.
Ao final do semestre será disputado um “Mega-Campeonato” com os jogadores implementados nas três linguagens. A nota de cada aluno neste último campeonato será dada pela média geométrica das notas obtidas por cada um dos seus 3 jogadores (em Prolog, Lisp e Java). A nota obtida no “Mega-Campeonato” será utilizada como bônus (B) ao fim do semestre. Não haverá submissões específicas para o “Mega-Campeonato”, ou seja, apenas os jogadores submetidos para os campeonatos de Prolog, Lisp e Java poderão participar deste último campeonato.
Veja maiores informações sobre o jogo e o campeonato.
A nota de cada linguagem será dada pela fórmula: Li = (6Pi + 4Ci)/10, para 1 ≤ i ≤ 3
A nota final antes do exame (N) será calculada pela média geométrica ponderada das três linguagens utilizando-se a seguinte fórmula: N = (L13 x L23 x L34) 1/10
Se N < 5, o aluno terá direito a fazer o exame. O exame será composto de duas partes. A primeira parte será composta por 3 questões, onde serão solicitadas implementações de predicados, funções e classes, respectivamente, em Prolog, Lisp e Java. A primeira parte do exame terá peso 2/3 e sua nota será calculada pela média geométrica simples entre as três primeiras questões. A segunda parte do exame terá peso 1/3 e será composta de uma ou mais questões, sendo que sua nota será calculada pela média aritmética simples entre as questões da segunda parte.
A nota final da disciplina (F) após o exame (E) será calculada pela fórmula:
Observações:
Consulte as notas aqui.
Prolog | Lisp | Java | Exame | |
Prova | 04/09/08 | 07/10/08 | 18/11/08 | 09/12/08 |
Campeonato Oficial |
06/09/08 13/09/08 |
04/10/08 11/10/08 |
15/11/08 22/11/08 |
29/11/08 06/12/08 |
Notas | 16/09/08 | 16/10/08 | 27/11/08 | 16/12/08 |
As notas das provas e dos campeonatos serão divulgadas no site da disciplina. Após corrigidas, as provas poderão ser consultadas nos horários de atendimento do professor. As provas corrigidas não serão levadas a sala de aula.
Verifique os dias sem aulas no Calendário Oficial da Unicamp.